2025-10-01 13:33:53.806568 | Job console starting... 2025-10-01 13:33:53.825434 | Updating repositories 2025-10-01 13:33:53.965783 | Preparing job workspace 2025-10-01 13:34:05.307626 | Running Ansible setup... 2025-10-01 13:34:10.717470 | PRE-RUN START: [trusted : review.rdoproject.org/config/playbooks/base-minimal/pre.yaml@master] 2025-10-01 13:34:11.346118 | 2025-10-01 13:34:11.346254 | PLAY [localhost] 2025-10-01 13:34:11.355702 | 2025-10-01 13:34:11.355787 | TASK [Gathering Facts] 2025-10-01 13:34:12.393463 | localhost | ok 2025-10-01 13:34:12.423965 | 2025-10-01 13:34:12.424182 | TASK [log-inventory : Ensure Zuul Ansible directory exists] 2025-10-01 13:34:12.889975 | localhost -> localhost | changed 2025-10-01 13:34:12.901994 | 2025-10-01 13:34:12.902151 | TASK [log-inventory : Copy ansible inventory to logs dir] 2025-10-01 13:34:13.792178 | localhost -> localhost | changed 2025-10-01 13:34:13.812296 | 2025-10-01 13:34:13.812476 | TASK [Setup log path fact] 2025-10-01 13:34:13.838314 | localhost | ok 2025-10-01 13:34:13.865516 | 2025-10-01 13:34:13.865637 | TASK [set-zuul-log-path-fact : Set log path for a build] 2025-10-01 13:34:13.907186 | localhost | ok 2025-10-01 13:34:13.918668 | 2025-10-01 13:34:13.918840 | TASK [emit-job-header : Print job information] 2025-10-01 13:34:13.970116 | # Job Information 2025-10-01 13:34:13.970319 | Ansible Version: 2.15.12 2025-10-01 13:34:13.970354 | Job: keystone-operator-kuttl 2025-10-01 13:34:13.970380 | Pipeline: github-check 2025-10-01 13:34:13.970405 | Executor: ze03.softwarefactory-project.io 2025-10-01 13:34:13.970429 | Triggered by: https://github.com/openstack-k8s-operators/keystone-operator/pull/567 2025-10-01 13:34:13.970455 | Log URL (when completed): https://logserver.rdoproject.org/511/rdoproject.org/5112f98d0cc645e48f337f3615fe4c49/ 2025-10-01 13:34:13.970480 | Event ID: 759508e0-9ec6-11f0-99c5-5bdbe48f9a0f 2025-10-01 13:34:13.975715 | 2025-10-01 13:34:13.975821 | LOOP [emit-job-header : Print node information] 2025-10-01 13:34:14.079877 | localhost | ok: 2025-10-01 13:34:14.080130 | localhost | # Node Information 2025-10-01 13:34:14.080158 | localhost | Inventory Hostname: controller 2025-10-01 13:34:14.080180 | localhost | Hostname: np0005464627 2025-10-01 13:34:14.080198 | localhost | Username: zuul 2025-10-01 13:34:14.080218 | localhost | Distro: CentOS 9 2025-10-01 13:34:14.080236 | localhost | Provider: vexxhost-nodepool-tripleo 2025-10-01 13:34:14.080253 | localhost | Region: RegionOne 2025-10-01 13:34:14.080270 | localhost | Label: cloud-centos-9-stream-tripleo-medium 2025-10-01 13:34:14.080286 | localhost | Product Name: OpenStack Nova 2025-10-01 13:34:14.080302 | localhost | Interface IP: 38.102.83.144 2025-10-01 13:34:14.146858 | localhost | ok: 2025-10-01 13:34:14.146960 | localhost | # Node Information 2025-10-01 13:34:14.146983 | localhost | Inventory Hostname: crc 2025-10-01 13:34:14.147003 | localhost | Hostname: crc 2025-10-01 13:34:14.147021 | localhost | Username: core 2025-10-01 13:34:14.147038 | localhost | Distro: RedHat 4.18 2025-10-01 13:34:14.147054 | localhost | Provider: vexxhost-nodepool-tripleo 2025-10-01 13:34:14.147072 | localhost | Region: RegionOne 2025-10-01 13:34:14.147091 | localhost | Label: crc-cloud-ocp-4-18-1-3xl 2025-10-01 13:34:14.147107 | localhost | Product Name: OpenStack Nova 2025-10-01 13:34:14.147122 | localhost | Interface IP: 38.102.83.180 2025-10-01 13:34:14.189092 | 2025-10-01 13:34:14.189289 | PLAY [all] 2025-10-01 13:34:14.199258 | 2025-10-01 13:34:14.199344 | TASK [Gather network facts] 2025-10-01 13:34:14.646310 | controller | ok 2025-10-01 13:34:14.895329 | crc | ok 2025-10-01 13:34:14.950274 | 2025-10-01 13:34:14.950416 | TASK [include_role : start-zuul-console] 2025-10-01 13:34:14.974969 | controller | ok 2025-10-01 13:34:14.980566 | crc | ok 2025-10-01 13:34:14.999111 | 2025-10-01 13:34:14.999196 | TASK [start-zuul-console : Start zuul_console daemon.] 2025-10-01 13:34:15.351754 | controller | ok 2025-10-01 13:34:15.396121 | crc | ok 2025-10-01 13:34:15.427056 | 2025-10-01 13:34:15.427180 | TASK [include_role : add-build-sshkey] 2025-10-01 13:34:15.465189 | controller | ok 2025-10-01 13:34:15.484861 | crc | ok 2025-10-01 13:34:15.511832 | 2025-10-01 13:34:15.511941 | TASK [add-build-sshkey : Check to see if ssh key was already created for this build] 2025-10-01 13:34:15.812550 | controller -> localhost | ok 2025-10-01 13:34:15.818562 | 2025-10-01 13:34:15.818624 | TASK [add-build-sshkey : Create a new key in workspace based on build UUID] 2025-10-01 13:34:15.849578 | controller | ok 2025-10-01 13:34:15.865438 | crc | ok 2025-10-01 13:34:15.911609 | controller | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/create-key-and-replace.yaml 2025-10-01 13:34:15.911708 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/create-key-and-replace.yaml 2025-10-01 13:34:15.920053 | 2025-10-01 13:34:15.920137 | TASK [add-build-sshkey : Create Temp SSH key] 2025-10-01 13:34:16.811205 | controller -> localhost | Generating public/private rsa key pair. 2025-10-01 13:34:16.811379 | controller -> localhost | Your identification has been saved in /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/5112f98d0cc645e48f337f3615fe4c49_id_rsa. 2025-10-01 13:34:16.811406 | controller -> localhost | Your public key has been saved in /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/5112f98d0cc645e48f337f3615fe4c49_id_rsa.pub. 2025-10-01 13:34:16.811428 | controller -> localhost | The key fingerprint is: 2025-10-01 13:34:16.811447 | controller -> localhost | SHA256:eQnws0B7BG3KdaFY1d4t/snaLdLYMGujKmICN1U3qnk zuul-build-sshkey 2025-10-01 13:34:16.811466 | controller -> localhost | The key's randomart image is: 2025-10-01 13:34:16.811484 | controller -> localhost | +---[RSA 3072]----+ 2025-10-01 13:34:16.811500 | controller -> localhost | | +oo.oo | 2025-10-01 13:34:16.811518 | controller -> localhost | | ..B*.. . | 2025-10-01 13:34:16.811535 | controller -> localhost | | o+**o . . . | 2025-10-01 13:34:16.811552 | controller -> localhost | | . +o = .. o .| 2025-10-01 13:34:16.811568 | controller -> localhost | | . o S o . . | 2025-10-01 13:34:16.811585 | controller -> localhost | |. o o E . o . | 2025-10-01 13:34:16.811602 | controller -> localhost | | o . . B...| 2025-10-01 13:34:16.811618 | controller -> localhost | | . o . * =oo| 2025-10-01 13:34:16.811634 | controller -> localhost | | o . ....o +.o.| 2025-10-01 13:34:16.811651 | controller -> localhost | +----[SHA256]-----+ 2025-10-01 13:34:16.811694 | controller -> localhost | ok: Runtime: 0:00:00.441713 2025-10-01 13:34:16.817743 | 2025-10-01 13:34:16.817813 | TASK [add-build-sshkey : Remote setup ssh keys (linux)] 2025-10-01 13:34:16.840995 | controller | ok 2025-10-01 13:34:16.867491 | crc | ok 2025-10-01 13:34:16.883608 | controller | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/remote-linux.yaml 2025-10-01 13:34:16.883698 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/remote-linux.yaml 2025-10-01 13:34:16.896688 | 2025-10-01 13:34:16.896808 | TASK [add-build-sshkey : Remove previously added zuul-build-sshkey] 2025-10-01 13:34:16.914886 | controller | skipping: Conditional result was False 2025-10-01 13:34:16.936208 | crc | skipping: Conditional result was False 2025-10-01 13:34:16.942746 | 2025-10-01 13:34:16.942823 | TASK [add-build-sshkey : Enable access via build key on all nodes] 2025-10-01 13:34:17.328574 | controller | changed 2025-10-01 13:34:17.560424 | crc | changed 2025-10-01 13:34:17.573665 | 2025-10-01 13:34:17.573892 | TASK [add-build-sshkey : Make sure user has a .ssh] 2025-10-01 13:34:17.828988 | controller | ok 2025-10-01 13:34:17.885430 | crc | ok 2025-10-01 13:34:17.897953 | 2025-10-01 13:34:17.898083 | TASK [add-build-sshkey : Install build private key as SSH key on all nodes] 2025-10-01 13:34:18.637320 | controller | changed 2025-10-01 13:34:18.836220 | crc | changed 2025-10-01 13:34:18.848782 | 2025-10-01 13:34:18.848929 | TASK [add-build-sshkey : Install build public key as SSH key on all nodes] 2025-10-01 13:34:19.584141 | controller | changed 2025-10-01 13:34:19.796436 | crc | changed 2025-10-01 13:34:19.803424 | 2025-10-01 13:34:19.803508 | TASK [add-build-sshkey : Remote setup ssh keys (windows)] 2025-10-01 13:34:19.836206 | controller | skipping: Conditional result was False 2025-10-01 13:34:19.857405 | crc | skipping: Conditional result was False 2025-10-01 13:34:19.865178 | 2025-10-01 13:34:19.865438 | TASK [remove-zuul-sshkey : Remove master key from local agent] 2025-10-01 13:34:20.249135 | controller -> localhost | changed 2025-10-01 13:34:20.285363 | 2025-10-01 13:34:20.285506 | TASK [add-build-sshkey : Add back temp key] 2025-10-01 13:34:20.619004 | controller -> localhost | Identity added: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/5112f98d0cc645e48f337f3615fe4c49_id_rsa (zuul-build-sshkey) 2025-10-01 13:34:20.619324 | controller -> localhost | ok: Runtime: 0:00:00.011839 2025-10-01 13:34:20.627076 | 2025-10-01 13:34:20.627160 | TASK [add-build-sshkey : Verify we can still SSH to all nodes] 2025-10-01 13:34:20.927676 | controller | ok 2025-10-01 13:34:20.971586 | crc | ok 2025-10-01 13:34:20.982234 | 2025-10-01 13:34:20.982365 | TASK [add-build-sshkey : Verify we can still SSH to all nodes (windows)] 2025-10-01 13:34:21.018407 | controller | skipping: Conditional result was False 2025-10-01 13:34:21.030337 | crc | skipping: Conditional result was False 2025-10-01 13:34:21.067367 | 2025-10-01 13:34:21.067531 | TASK [include_role : validate-host] 2025-10-01 13:34:21.098490 | controller | ok 2025-10-01 13:34:21.122385 | crc | ok 2025-10-01 13:34:21.195431 | 2025-10-01 13:34:21.195594 | TASK [validate-host : Define zuul_info_dir fact] 2025-10-01 13:34:21.249311 | controller | ok 2025-10-01 13:34:21.260212 | crc | ok 2025-10-01 13:34:21.266875 | 2025-10-01 13:34:21.266957 | TASK [validate-host : Ensure Zuul Ansible directory exists] 2025-10-01 13:34:21.517535 | controller -> localhost | ok 2025-10-01 13:34:21.525015 | 2025-10-01 13:34:21.525096 | TASK [validate-host : Collect information about the host] 2025-10-01 13:34:22.190582 | controller | ok 2025-10-01 13:34:22.517203 | crc | ok 2025-10-01 13:34:22.538176 | 2025-10-01 13:34:22.538275 | TASK [validate-host : Sanitize hostname] 2025-10-01 13:34:22.601112 | controller | ok 2025-10-01 13:34:22.637860 | crc | ok 2025-10-01 13:34:22.643115 | 2025-10-01 13:34:22.643176 | TASK [validate-host : Write out all ansible variables/facts known for each host] 2025-10-01 13:34:23.100820 | controller -> localhost | changed 2025-10-01 13:34:23.152937 | crc -> localhost | changed 2025-10-01 13:34:23.164505 | 2025-10-01 13:34:23.164640 | TASK [validate-host : Collect information about zuul worker] 2025-10-01 13:34:23.633715 | controller | ok 2025-10-01 13:34:23.697455 | crc | ok 2025-10-01 13:34:23.707590 | 2025-10-01 13:34:23.707749 | TASK [validate-host : Write out all zuul information for each host] 2025-10-01 13:34:24.172518 | controller -> localhost | changed 2025-10-01 13:34:24.234316 | crc -> localhost | changed 2025-10-01 13:34:24.259405 | 2025-10-01 13:34:24.259514 | TASK [include_role : prepare-workspace-openshift] 2025-10-01 13:34:24.283494 | controller | skipping: Conditional result was False 2025-10-01 13:34:24.290272 | 2025-10-01 13:34:24.290340 | TASK [include_role : remove-zuul-sshkey] 2025-10-01 13:34:24.316339 | controller | skipping: Conditional result was False 2025-10-01 13:34:24.322537 | 2025-10-01 13:34:24.322603 | LOOP [ensure-output-dirs : Empty Zuul Output directories by removing them] 2025-10-01 13:34:24.556790 | controller | ok: "logs" 2025-10-01 13:34:24.557083 | controller | ok: All items complete 2025-10-01 13:34:24.557131 | 2025-10-01 13:34:24.617107 | crc | ok: "logs" 2025-10-01 13:34:24.769213 | controller | ok: "artifacts" 2025-10-01 13:34:24.892589 | crc | ok: "artifacts" 2025-10-01 13:34:24.990644 | controller | ok: "docs" 2025-10-01 13:34:25.154971 | crc | ok: "docs" 2025-10-01 13:34:25.164607 | 2025-10-01 13:34:25.165188 | LOOP [ensure-output-dirs : Ensure Zuul Output directories exist] 2025-10-01 13:34:25.458572 | controller | changed: "logs" 2025-10-01 13:34:25.459313 | controller | ok: All items complete 2025-10-01 13:34:25.459445 | 2025-10-01 13:34:25.515426 | crc | changed: "logs" 2025-10-01 13:34:25.702892 | controller | changed: "artifacts" 2025-10-01 13:34:25.748134 | crc | changed: "artifacts" 2025-10-01 13:34:25.922401 | controller | changed: "docs" 2025-10-01 13:34:26.019234 | crc | changed: "docs" 2025-10-01 13:34:26.132640 | 2025-10-01 13:34:26.132794 | PLAY RECAP 2025-10-01 13:34:26.132845 | controller | ok: 22 changed: 9 unreachable: 0 failed: 0 skipped: 5 rescued: 0 ignored: 0 2025-10-01 13:34:26.132871 | crc | ok: 17 changed: 6 unreachable: 0 failed: 0 skipped: 3 rescued: 0 ignored: 0 2025-10-01 13:34:26.132893 | localhost | ok: 6 changed: 2 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2025-10-01 13:34:26.132910 | 2025-10-01 13:34:26.242814 | PRE-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/base-minimal/pre.yaml@master] 2025-10-01 13:34:26.251952 | PRE-RUN START: [trusted : review.rdoproject.org/config/playbooks/ci-framework-rdo-base/pre.yaml@master] 2025-10-01 13:34:26.931248 | 2025-10-01 13:34:26.931370 | PLAY [all] 2025-10-01 13:34:26.968118 | 2025-10-01 13:34:26.968328 | TASK [mirror-info-fork : Set mirror_fqdn if not defined] 2025-10-01 13:34:27.021992 | controller | ok 2025-10-01 13:34:27.049778 | crc | ok 2025-10-01 13:34:27.055905 | 2025-10-01 13:34:27.055999 | TASK [mirror-info-fork : Create /etc/ci] 2025-10-01 13:34:27.495248 | controller | changed 2025-10-01 13:34:27.531525 | crc | changed 2025-10-01 13:34:27.569615 | 2025-10-01 13:34:27.569742 | TASK [mirror-info-fork : Install ci_mirror script] 2025-10-01 13:34:28.620989 | controller | changed 2025-10-01 13:34:28.699936 | crc | changed 2025-10-01 13:34:28.731428 | 2025-10-01 13:34:28.731606 | LOOP [add-authorized-keys : Enable access via build key on all nodes] 2025-10-01 13:34:29.212176 | controller | changed: 2025-10-01 13:34:29.216125 | controller | { 2025-10-01 13:34:29.216273 | controller | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4Z/c9osaGGtU6X8fgELwfj/yayRurfcKA0HMFfdpPxev2dbwljysMuzoVp4OZmW1gvGtyYPSNRvnzgsaabPNKNo2ym5NToCP6UM+KSe93aln4BcM/24mXChYAbXJQ5Bqq/pIzsGs/pKetQN+vwvMxLOwTvpcsCJBXaa981RKML6xj9l/UZ7IIq1HSEKMvPLxZMWdu0Ut8DkCd5F4nOw9Wgml2uYpDCj5LLCrQQ9ChdOMz8hz6SighhNlRpPkvPaet3OXxr/ytFMu7j7vv06CaEnuMMiY2aTWN1Imin9eHAylIqFHta/3gFfQSWt9jXM7owkBLKL7ATzhaAn+fjNupw== arxcruz@redhat.com" 2025-10-01 13:34:29.216334 | controller | } 2025-10-01 13:34:29.274135 | crc | changed: 2025-10-01 13:34:29.274293 | crc | { 2025-10-01 13:34:29.274344 | crc | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4Z/c9osaGGtU6X8fgELwfj/yayRurfcKA0HMFfdpPxev2dbwljysMuzoVp4OZmW1gvGtyYPSNRvnzgsaabPNKNo2ym5NToCP6UM+KSe93aln4BcM/24mXChYAbXJQ5Bqq/pIzsGs/pKetQN+vwvMxLOwTvpcsCJBXaa981RKML6xj9l/UZ7IIq1HSEKMvPLxZMWdu0Ut8DkCd5F4nOw9Wgml2uYpDCj5LLCrQQ9ChdOMz8hz6SighhNlRpPkvPaet3OXxr/ytFMu7j7vv06CaEnuMMiY2aTWN1Imin9eHAylIqFHta/3gFfQSWt9jXM7owkBLKL7ATzhaAn+fjNupw== arxcruz@redhat.com" 2025-10-01 13:34:29.274386 | crc | } 2025-10-01 13:34:29.488458 | controller | changed: 2025-10-01 13:34:29.488986 | controller | { 2025-10-01 13:34:29.489064 | controller | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDS4Fn6k4deCnIlOtLWqZJyksbepjQt04j8Ed8CGx9EKkj0fKiAxiI4TadXQYPuNHMixZy4Nevjb6aDhL5Z906TfvNHKUrjrG7G26a0k8vdc61NEQ7FmcGMWRLwwc6ReDO7lFpzYKBMk4YqfWgBuGU/K6WLKiVW2cVvwIuGIaYrE1OiiX0iVUUk7KApXlDJMXn7qjSYynfO4mF629NIp8FJal38+Kv+HA+0QkE5Y2xXnzD4Lar5+keymiCHRntPppXHeLIRzbt0gxC7v3L72hpQ3BTBEzwHpeS8KY+SX1y5lRMN45thCHfJqGmARJREDjBvWG8JXOPmVIKQtZmVcD5b mandreou@redhat.com" 2025-10-01 13:34:29.489110 | controller | } 2025-10-01 13:34:29.640624 | crc | changed: 2025-10-01 13:34:29.640829 | crc | { 2025-10-01 13:34:29.640882 | crc | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDS4Fn6k4deCnIlOtLWqZJyksbepjQt04j8Ed8CGx9EKkj0fKiAxiI4TadXQYPuNHMixZy4Nevjb6aDhL5Z906TfvNHKUrjrG7G26a0k8vdc61NEQ7FmcGMWRLwwc6ReDO7lFpzYKBMk4YqfWgBuGU/K6WLKiVW2cVvwIuGIaYrE1OiiX0iVUUk7KApXlDJMXn7qjSYynfO4mF629NIp8FJal38+Kv+HA+0QkE5Y2xXnzD4Lar5+keymiCHRntPppXHeLIRzbt0gxC7v3L72hpQ3BTBEzwHpeS8KY+SX1y5lRMN45thCHfJqGmARJREDjBvWG8JXOPmVIKQtZmVcD5b mandreou@redhat.com" 2025-10-01 13:34:29.640940 | crc | } 2025-10-01 13:34:29.753252 | controller | changed: 2025-10-01 13:34:29.753410 | controller | { 2025-10-01 13:34:29.753467 | controller | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9MiLfy30deHA7xPOAlew5qUq3UP2gmRMYJi8PtkjFB20/DKeWwWNnkZPqP9AayruRoo51SIiVg870gbZE2jYl+Ncx/FYDe56JeC3ySZsXoAVkC9bP7gkOGqOmJjirvAgPMI7bogVz8i+66Q4Ar7OKTp3762G4IuWPPEg4ce4Y7lx9qWocZapHYq4cYKMxrOZ7SEbFSATBbe2bPZAPKTw8do/Eny+Hq/LkHFhIeyra6cqTFQYShr+zPln0Cr+ro/pDX3bB+1ubFgTpjpkkkQsLhDfR6cCdCWM2lgnS3BTtYj5Ct9/JRPR5YOphqZz+uB+OEu2IL68hmU9vNTth1KeX rlandy@redhat.com" 2025-10-01 13:34:29.753511 | controller | } 2025-10-01 13:34:30.004552 | controller | changed: 2025-10-01 13:34:30.004714 | controller | { 2025-10-01 13:34:30.004803 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCbgz8gdERiJlk2IKOtkjQxEXejrio6ZYMJAVJYpOIp raukadah@gmail.com" 2025-10-01 13:34:30.004849 | controller | } 2025-10-01 13:34:30.073841 | crc | changed: 2025-10-01 13:34:30.074068 | crc | { 2025-10-01 13:34:30.074123 | crc | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9MiLfy30deHA7xPOAlew5qUq3UP2gmRMYJi8PtkjFB20/DKeWwWNnkZPqP9AayruRoo51SIiVg870gbZE2jYl+Ncx/FYDe56JeC3ySZsXoAVkC9bP7gkOGqOmJjirvAgPMI7bogVz8i+66Q4Ar7OKTp3762G4IuWPPEg4ce4Y7lx9qWocZapHYq4cYKMxrOZ7SEbFSATBbe2bPZAPKTw8do/Eny+Hq/LkHFhIeyra6cqTFQYShr+zPln0Cr+ro/pDX3bB+1ubFgTpjpkkkQsLhDfR6cCdCWM2lgnS3BTtYj5Ct9/JRPR5YOphqZz+uB+OEu2IL68hmU9vNTth1KeX rlandy@redhat.com" 2025-10-01 13:34:30.074166 | crc | } 2025-10-01 13:34:30.260140 | controller | changed: 2025-10-01 13:34:30.260259 | controller | { 2025-10-01 13:34:30.260291 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBqb3Q/9uDf4LmihQ7xeJ9gA/STIQUFPSfyyV0m8AoQi bshewale@redhat.com" 2025-10-01 13:34:30.260316 | controller | } 2025-10-01 13:34:30.428379 | crc | changed: 2025-10-01 13:34:30.428661 | crc | { 2025-10-01 13:34:30.428798 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCbgz8gdERiJlk2IKOtkjQxEXejrio6ZYMJAVJYpOIp raukadah@gmail.com" 2025-10-01 13:34:30.428865 | crc | } 2025-10-01 13:34:30.535974 | controller | changed: 2025-10-01 13:34:30.536131 | controller | { 2025-10-01 13:34:30.536232 | controller | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0I8QqQx0Az2ysJt2JuffucLijhBqnsXKEIx5GyHwxVULROa8VtNFXUDH6ZKZavhiMcmfHB2+TBTda+lDP4FldYj06dGmzCY+IYGa+uDRdxHNGYjvCfLFcmLlzRK6fNbTcui+KlUFUdKe0fb9CRoGKyhlJD5GRkM1Dv+Yb6Bj+RNnmm1fVGYxzmrD2utvffYEb0SZGWxq2R9gefx1q/3wCGjeqvufEV+AskPhVGc5T7t9eyZ4qmslkLh1/nMuaIBFcr9AUACRajsvk6mXrAN1g3HlBf2gQlhi1UEyfbqIQvzzFtsbLDlSum/KmKjy818GzvWjERfQ0VkGzCd9bSLVL dviroel@redhat.com" 2025-10-01 13:34:30.536267 | controller | } 2025-10-01 13:34:30.774124 | controller | changed: 2025-10-01 13:34:30.774242 | controller | { 2025-10-01 13:34:30.774275 | 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-10-01 13:34:30.774301 | controller | } 2025-10-01 13:34:30.803716 | crc | changed: 2025-10-01 13:34:30.803828 | crc | { 2025-10-01 13:34:30.803860 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBqb3Q/9uDf4LmihQ7xeJ9gA/STIQUFPSfyyV0m8AoQi bshewale@redhat.com" 2025-10-01 13:34:30.803895 | crc | } 2025-10-01 13:34:31.049393 | controller | changed: 2025-10-01 13:34:31.049513 | controller | { 2025-10-01 13:34:31.049546 | 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-10-01 13:34:31.049572 | controller | } 2025-10-01 13:34:31.177644 | crc | changed: 2025-10-01 13:34:31.177872 | crc | { 2025-10-01 13:34:31.177913 | crc | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0I8QqQx0Az2ysJt2JuffucLijhBqnsXKEIx5GyHwxVULROa8VtNFXUDH6ZKZavhiMcmfHB2+TBTda+lDP4FldYj06dGmzCY+IYGa+uDRdxHNGYjvCfLFcmLlzRK6fNbTcui+KlUFUdKe0fb9CRoGKyhlJD5GRkM1Dv+Yb6Bj+RNnmm1fVGYxzmrD2utvffYEb0SZGWxq2R9gefx1q/3wCGjeqvufEV+AskPhVGc5T7t9eyZ4qmslkLh1/nMuaIBFcr9AUACRajsvk6mXrAN1g3HlBf2gQlhi1UEyfbqIQvzzFtsbLDlSum/KmKjy818GzvWjERfQ0VkGzCd9bSLVL dviroel@redhat.com" 2025-10-01 13:34:31.177941 | crc | } 2025-10-01 13:34:31.310370 | controller | changed: 2025-10-01 13:34:31.310538 | controller | { 2025-10-01 13:34:31.310569 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHUnwjB20UKmsSed9X73eGNV5AOEFccQ3NYrRW776pEk cjeanner" 2025-10-01 13:34:31.310590 | controller | } 2025-10-01 13:34:31.567040 | controller | changed: 2025-10-01 13:34:31.567133 | controller | { 2025-10-01 13:34:31.567157 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDercCMGn8rW1C4P67tHgtflPdTeXlpyUJYH+6XDd2lR jgilaber@redhat.com" 2025-10-01 13:34:31.567176 | controller | } 2025-10-01 13:34:31.575196 | crc | changed: 2025-10-01 13:34:31.575247 | crc | { 2025-10-01 13:34:31.575271 | 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-10-01 13:34:31.575290 | crc | } 2025-10-01 13:34:31.828996 | controller | changed: 2025-10-01 13:34:31.829195 | controller | { 2025-10-01 13:34:31.829267 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAMI6kkg9Wg0sG7jIJmyZemEBwUn1yzNpQQd3gnulOmZ adrianfuscoarnejo@gmail.com" 2025-10-01 13:34:31.829309 | controller | } 2025-10-01 13:34:31.958570 | crc | changed: 2025-10-01 13:34:31.958756 | crc | { 2025-10-01 13:34:31.958817 | 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-10-01 13:34:31.958862 | crc | } 2025-10-01 13:34:32.074671 | controller | changed: 2025-10-01 13:34:32.074892 | controller | { 2025-10-01 13:34:32.074950 | controller | "public_key": "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPijwpQu/3jhhhBZInXNOLEH57DrknPc3PLbsRvYyJIFzwYjX+WD4a7+nGnMYS42MuZk6TJcVqgnqofVx4isoD4= ramishra@redhat.com" 2025-10-01 13:34:32.074993 | controller | } 2025-10-01 13:34:32.314953 | controller | changed: 2025-10-01 13:34:32.315076 | controller | { 2025-10-01 13:34:32.315110 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGpU/BepK3qX0NRf5Np+dOBDqzQEefhNrw2DCZaH3uWW rebtoor@monolith" 2025-10-01 13:34:32.315137 | controller | } 2025-10-01 13:34:32.381591 | crc | changed: 2025-10-01 13:34:32.381818 | crc | { 2025-10-01 13:34:32.381883 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHUnwjB20UKmsSed9X73eGNV5AOEFccQ3NYrRW776pEk cjeanner" 2025-10-01 13:34:32.381923 | crc | } 2025-10-01 13:34:32.583417 | controller | changed: 2025-10-01 13:34:32.583585 | controller | { 2025-10-01 13:34:32.583638 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDK0iKdi8jQTpQrDdLVH/AAgLVYyTXF7AQ1gjc/5uT3t ykarel@yatinkarel" 2025-10-01 13:34:32.583687 | controller | } 2025-10-01 13:34:32.753962 | crc | changed: 2025-10-01 13:34:32.754124 | crc | { 2025-10-01 13:34:32.754169 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDercCMGn8rW1C4P67tHgtflPdTeXlpyUJYH+6XDd2lR jgilaber@redhat.com" 2025-10-01 13:34:32.754205 | crc | } 2025-10-01 13:34:32.836620 | controller | changed: 2025-10-01 13:34:32.836710 | controller | { 2025-10-01 13:34:32.836751 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF/V/cLotA6LZeO32VL45Hd78skuA2lJA425Sm2LlQeZ fmount@horcrux" 2025-10-01 13:34:32.836772 | controller | } 2025-10-01 13:34:33.100303 | controller | changed: 2025-10-01 13:34:33.100444 | controller | { 2025-10-01 13:34:33.100493 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDa7QCjuDMVmRPo1rREbGwzYeBCYVN+Ou/3WKXZEC6Sr" 2025-10-01 13:34:33.100533 | controller | } 2025-10-01 13:34:33.141706 | crc | changed: 2025-10-01 13:34:33.141981 | crc | { 2025-10-01 13:34:33.142038 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAMI6kkg9Wg0sG7jIJmyZemEBwUn1yzNpQQd3gnulOmZ adrianfuscoarnejo@gmail.com" 2025-10-01 13:34:33.142078 | crc | } 2025-10-01 13:34:33.347418 | controller | changed: 2025-10-01 13:34:33.347576 | controller | { 2025-10-01 13:34:33.347629 | 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-10-01 13:34:33.347674 | controller | } 2025-10-01 13:34:33.571367 | crc | changed: 2025-10-01 13:34:33.571539 | crc | { 2025-10-01 13:34:33.571602 | crc | "public_key": "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPijwpQu/3jhhhBZInXNOLEH57DrknPc3PLbsRvYyJIFzwYjX+WD4a7+nGnMYS42MuZk6TJcVqgnqofVx4isoD4= ramishra@redhat.com" 2025-10-01 13:34:33.571653 | crc | } 2025-10-01 13:34:33.583985 | controller | changed: 2025-10-01 13:34:33.584385 | controller | { 2025-10-01 13:34:33.584452 | 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-10-01 13:34:33.584495 | controller | } 2025-10-01 13:34:33.827186 | controller | changed: 2025-10-01 13:34:33.827335 | controller | { 2025-10-01 13:34:33.827385 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOKLl0NYKwoZ/JY5KeZU8VwRAggeOxqQJeoqp3dsAaY9" 2025-10-01 13:34:33.827423 | controller | } 2025-10-01 13:34:33.915016 | crc | changed: 2025-10-01 13:34:33.915335 | crc | { 2025-10-01 13:34:33.915397 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGpU/BepK3qX0NRf5Np+dOBDqzQEefhNrw2DCZaH3uWW rebtoor@monolith" 2025-10-01 13:34:33.915439 | crc | } 2025-10-01 13:34:34.077206 | controller | changed: 2025-10-01 13:34:34.077348 | controller | { 2025-10-01 13:34:34.077399 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIASASQOH2BcOyLKuuDOdWZlPi2orcjcA8q4400T73DLH evallesp@fedora" 2025-10-01 13:34:34.077438 | controller | } 2025-10-01 13:34:34.301043 | crc | changed: 2025-10-01 13:34:34.301197 | crc | { 2025-10-01 13:34:34.301247 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDK0iKdi8jQTpQrDdLVH/AAgLVYyTXF7AQ1gjc/5uT3t ykarel@yatinkarel" 2025-10-01 13:34:34.301286 | crc | } 2025-10-01 13:34:34.333113 | controller | changed: 2025-10-01 13:34:34.333236 | controller | { 2025-10-01 13:34:34.333284 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILeBWlamUph+jRKV2qrx1PGU7vWuGIt5+z9k96I8WehW amsinha@amsinha-mac" 2025-10-01 13:34:34.333323 | controller | } 2025-10-01 13:34:34.585144 | controller | changed: 2025-10-01 13:34:34.585307 | controller | { 2025-10-01 13:34:34.585357 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIANvVgvJBlK3gb1yz5uef/JqIGq4HLEmY2dYA8e37swb morenod@redhat-laptop" 2025-10-01 13:34:34.585396 | controller | } 2025-10-01 13:34:34.678845 | crc | changed: 2025-10-01 13:34:34.679191 | crc | { 2025-10-01 13:34:34.679253 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF/V/cLotA6LZeO32VL45Hd78skuA2lJA425Sm2LlQeZ fmount@horcrux" 2025-10-01 13:34:34.679295 | crc | } 2025-10-01 13:34:34.867090 | controller | changed: 2025-10-01 13:34:34.867241 | controller | { 2025-10-01 13:34:34.867291 | 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-10-01 13:34:34.867508 | controller | } 2025-10-01 13:34:35.041264 | crc | changed: 2025-10-01 13:34:35.041555 | crc | { 2025-10-01 13:34:35.041618 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDa7QCjuDMVmRPo1rREbGwzYeBCYVN+Ou/3WKXZEC6Sr" 2025-10-01 13:34:35.041661 | crc | } 2025-10-01 13:34:35.134992 | controller | changed: 2025-10-01 13:34:35.135306 | controller | { 2025-10-01 13:34:35.135374 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKwedoZ0TWPJX/z/4TAbO/kKcDZOQVgRH0hAqrL5UCI1 vcastell@redhat.com" 2025-10-01 13:34:35.135420 | controller | } 2025-10-01 13:34:35.375057 | controller | changed: 2025-10-01 13:34:35.375412 | controller | { 2025-10-01 13:34:35.375476 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEmv8sE8GCk6ZTPIqF0FQrttBdL3mq7rCm/IJy0xDFh7 michburk@redhat.com" 2025-10-01 13:34:35.375519 | controller | } 2025-10-01 13:34:35.409885 | crc | changed: 2025-10-01 13:34:35.410037 | crc | { 2025-10-01 13:34:35.410105 | 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-10-01 13:34:35.410314 | crc | } 2025-10-01 13:34:35.647261 | controller | changed: 2025-10-01 13:34:35.647417 | controller | { 2025-10-01 13:34:35.647468 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICy6GpGEtwevXEEn4mmLR5lmSLe23dGgAvzkB9DMNbkf rsafrono@rsafrono" 2025-10-01 13:34:35.647508 | controller | } 2025-10-01 13:34:35.760165 | crc | changed: 2025-10-01 13:34:35.760332 | crc | { 2025-10-01 13:34:35.760392 | 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-10-01 13:34:35.760440 | crc | } 2025-10-01 13:34:35.760505 | crc | changed: All items complete 2025-10-01 13:34:35.760553 | 2025-10-01 13:34:36.147552 | crc | changed: 2025-10-01 13:34:36.147692 | crc | { 2025-10-01 13:34:36.147746 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOKLl0NYKwoZ/JY5KeZU8VwRAggeOxqQJeoqp3dsAaY9" 2025-10-01 13:34:36.147819 | crc | } 2025-10-01 13:34:36.572253 | crc | changed: 2025-10-01 13:34:36.572410 | crc | { 2025-10-01 13:34:36.572461 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIASASQOH2BcOyLKuuDOdWZlPi2orcjcA8q4400T73DLH evallesp@fedora" 2025-10-01 13:34:36.572500 | crc | } 2025-10-01 13:34:36.977000 | crc | changed: 2025-10-01 13:34:36.977120 | crc | { 2025-10-01 13:34:36.977152 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILeBWlamUph+jRKV2qrx1PGU7vWuGIt5+z9k96I8WehW amsinha@amsinha-mac" 2025-10-01 13:34:36.977177 | crc | } 2025-10-01 13:34:37.339237 | crc | changed: 2025-10-01 13:34:37.339359 | crc | { 2025-10-01 13:34:37.339393 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIANvVgvJBlK3gb1yz5uef/JqIGq4HLEmY2dYA8e37swb morenod@redhat-laptop" 2025-10-01 13:34:37.339418 | crc | } 2025-10-01 13:34:37.677540 | crc | changed: 2025-10-01 13:34:37.677906 | crc | { 2025-10-01 13:34:37.677978 | 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-10-01 13:34:37.678023 | crc | } 2025-10-01 13:34:38.083564 | crc | changed: 2025-10-01 13:34:38.083937 | crc | { 2025-10-01 13:34:38.083963 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKwedoZ0TWPJX/z/4TAbO/kKcDZOQVgRH0hAqrL5UCI1 vcastell@redhat.com" 2025-10-01 13:34:38.084032 | crc | } 2025-10-01 13:34:38.443780 | crc | changed: 2025-10-01 13:34:38.443959 | crc | { 2025-10-01 13:34:38.444022 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEmv8sE8GCk6ZTPIqF0FQrttBdL3mq7rCm/IJy0xDFh7 michburk@redhat.com" 2025-10-01 13:34:38.444080 | crc | } 2025-10-01 13:34:38.810929 | crc | changed: 2025-10-01 13:34:38.811058 | crc | { 2025-10-01 13:34:38.811081 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICy6GpGEtwevXEEn4mmLR5lmSLe23dGgAvzkB9DMNbkf rsafrono@rsafrono" 2025-10-01 13:34:38.811100 | crc | } 2025-10-01 13:34:38.869844 | 2025-10-01 13:34:38.869986 | TASK [Set timezone to UTC] 2025-10-01 13:34:39.402825 | controller | changed: executed `/bin/timedatectl set-timezone UTC` 2025-10-01 13:34:39.564124 | crc | ok 2025-10-01 13:34:39.579470 | 2025-10-01 13:34:39.579642 | TASK [Create nodepool directory] 2025-10-01 13:34:39.871837 | controller | changed 2025-10-01 13:34:39.990277 | crc | changed 2025-10-01 13:34:40.002213 | 2025-10-01 13:34:40.002346 | TASK [Create nodepool sub_nodes file] 2025-10-01 13:34:40.641352 | controller | changed 2025-10-01 13:34:40.877680 | crc | changed 2025-10-01 13:34:40.889567 | 2025-10-01 13:34:40.889778 | TASK [Create nodepool sub_nodes_private file] 2025-10-01 13:34:41.546296 | controller | changed 2025-10-01 13:34:41.772620 | crc | changed 2025-10-01 13:34:41.785774 | 2025-10-01 13:34:41.785993 | LOOP [Populate nodepool sub_nodes file] 2025-10-01 13:34:41.871324 | 2025-10-01 13:34:41.871598 | LOOP [Populate nodepool sub_nodes_private file] 2025-10-01 13:34:41.952033 | 2025-10-01 13:34:41.952317 | TASK [Create nodepool primary file] 2025-10-01 13:34:41.991906 | controller | skipping: Conditional result was False 2025-10-01 13:34:42.013773 | crc | skipping: Conditional result was False 2025-10-01 13:34:42.022564 | 2025-10-01 13:34:42.022673 | TASK [Create nodepool node_private for this node] 2025-10-01 13:34:42.688424 | controller | changed 2025-10-01 13:34:42.954992 | crc | changed 2025-10-01 13:34:42.963333 | 2025-10-01 13:34:42.963431 | LOOP [Copy ssh keys to nodepool directory] 2025-10-01 13:34:43.389289 | controller | ok: Item: id_rsa Runtime: 0:00:00.007757 2025-10-01 13:34:43.389569 | 2025-10-01 13:34:43.476151 | crc | ok: Item: id_rsa Runtime: 0:00:00.020747 2025-10-01 13:34:43.608422 | controller | ok: Item: id_rsa.pub Runtime: 0:00:00.006896 2025-10-01 13:34:43.719684 | crc | ok: Item: id_rsa.pub Runtime: 0:00:00.008197 2025-10-01 13:34:43.736025 | 2025-10-01 13:34:43.736170 | TASK [Add sudoers role for zuul-sudo-grep.sh] 2025-10-01 13:34:44.454623 | controller | changed 2025-10-01 13:34:44.657833 | crc | changed 2025-10-01 13:34:44.665156 | 2025-10-01 13:34:44.665265 | TASK [Validate sudoers config after edits] 2025-10-01 13:34:45.094061 | crc | /etc/sudoers: parsed OK 2025-10-01 13:34:45.094168 | crc | /etc/sudoers.d/coreos-sudo-group: parsed OK 2025-10-01 13:34:45.094177 | crc | /etc/sudoers.d/zuul-sudo-grep: parsed OK 2025-10-01 13:34:44.992121 | controller | /etc/sudoers: parsed OK 2025-10-01 13:34:44.992262 | controller | /etc/sudoers.d/90-cloud-init-users: parsed OK 2025-10-01 13:34:44.992349 | controller | /etc/sudoers.d/zuul: parsed OK 2025-10-01 13:34:44.992359 | controller | /etc/sudoers.d/zuul-sudo-grep: parsed OK 2025-10-01 13:34:45.270612 | controller | ok: Runtime: 0:00:00.007761 2025-10-01 13:34:45.286621 | crc | ok: Runtime: 0:00:00.009263 2025-10-01 13:34:45.298582 | 2025-10-01 13:34:45.298715 | TASK [Show the environment passed in to job shell scripts] 2025-10-01 13:34:45.708000 | crc | SHELL=/bin/bash 2025-10-01 13:34:45.708070 | crc | ZUUL_PROJECT=openstack-k8s-operators/keystone-operator 2025-10-01 13:34:45.708080 | crc | ZUUL_SHORT_PROJECT_NAME=keystone-operator 2025-10-01 13:34:45.708088 | crc | ZUUL_CHANGES=openstack-k8s-operators/keystone-operator:main:refs/changes/67/567/0bf30aa672c65d76ab942979d5cc7e063a129ffc 2025-10-01 13:34:45.708095 | crc | PWD=/var/home/core 2025-10-01 13:34:45.708168 | crc | ZUUL_PIPELINE=github-check 2025-10-01 13:34:45.708177 | crc | LOGNAME=core 2025-10-01 13:34:45.708184 | crc | XDG_SESSION_TYPE=tty 2025-10-01 13:34:45.708191 | crc | _=/usr/bin/env 2025-10-01 13:34:45.708197 | crc | MOTD_SHOWN=pam 2025-10-01 13:34:45.708204 | crc | HOME=/var/home/core 2025-10-01 13:34:45.708211 | crc | LANG=C.UTF-8 2025-10-01 13:34:45.708217 | crc | SSH_CONNECTION=38.102.83.114 57352 38.102.83.180 22 2025-10-01 13:34:45.708224 | 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-10-01 13:34:45.708234 | crc | ZUUL_CHANGE_IDS=567,0bf30aa672c65d76ab942979d5cc7e063a129ffc 2025-10-01 13:34:45.708241 | crc | WORKSPACE=/home/zuul/workspace 2025-10-01 13:34:45.708248 | crc | XDG_SESSION_CLASS=user 2025-10-01 13:34:45.708255 | crc | SELINUX_ROLE_REQUESTED= 2025-10-01 13:34:45.708261 | crc | LESSOPEN=||/usr/bin/lesspipe.sh %s 2025-10-01 13:34:45.708268 | crc | USER=core 2025-10-01 13:34:45.708275 | crc | ZUUL_VOTING=False 2025-10-01 13:34:45.708282 | crc | BUILD_TIMEOUT=7200000 2025-10-01 13:34:45.708288 | crc | SELINUX_USE_CURRENT_RANGE= 2025-10-01 13:34:45.708295 | crc | SHLVL=1 2025-10-01 13:34:45.708302 | crc | ZUUL_PATCHSET=0bf30aa672c65d76ab942979d5cc7e063a129ffc 2025-10-01 13:34:45.708308 | crc | XDG_SESSION_ID=2 2025-10-01 13:34:45.708315 | crc | ZUUL_BRANCH=main 2025-10-01 13:34:45.708322 | crc | XDG_RUNTIME_DIR=/run/user/1000 2025-10-01 13:34:45.708328 | crc | SSH_CLIENT=38.102.83.114 57352 22 2025-10-01 13:34:45.708335 | crc | which_declare=declare -f 2025-10-01 13:34:45.708342 | crc | PATH=/var/home/core/.local/bin:/var/home/core/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin 2025-10-01 13:34:45.708350 | crc | SELINUX_LEVEL_REQUESTED= 2025-10-01 13:34:45.708357 | crc | ZUUL_CHANGE=567 2025-10-01 13:34:45.708364 | crc | DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus 2025-10-01 13:34:45.708370 | crc | ZUUL_UUID=5112f98d0cc645e48f337f3615fe4c49 2025-10-01 13:34:45.708409 | crc | BASH_FUNC_which%%=() { ( alias; 2025-10-01 13:34:45.708418 | crc | eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@ 2025-10-01 13:34:45.708425 | crc | } 2025-10-01 13:34:45.600820 | controller | SHELL=/bin/bash 2025-10-01 13:34:45.600869 | controller | ZUUL_PROJECT=openstack-k8s-operators/keystone-operator 2025-10-01 13:34:45.600878 | controller | ZUUL_SHORT_PROJECT_NAME=keystone-operator 2025-10-01 13:34:45.600885 | controller | ZUUL_CHANGES=openstack-k8s-operators/keystone-operator:main:refs/changes/67/567/0bf30aa672c65d76ab942979d5cc7e063a129ffc 2025-10-01 13:34:45.600892 | controller | PWD=/home/zuul 2025-10-01 13:34:45.600898 | controller | ZUUL_PIPELINE=github-check 2025-10-01 13:34:45.600904 | controller | LOGNAME=zuul 2025-10-01 13:34:45.600910 | controller | XDG_SESSION_TYPE=tty 2025-10-01 13:34:45.600916 | controller | _=/usr/bin/env 2025-10-01 13:34:45.600922 | controller | MOTD_SHOWN=pam 2025-10-01 13:34:45.600928 | controller | HOME=/home/zuul 2025-10-01 13:34:45.600934 | controller | LANG=en_US.UTF-8 2025-10-01 13:34:45.600940 | controller | SSH_CONNECTION=38.102.83.114 46190 38.102.83.144 22 2025-10-01 13:34:45.600947 | 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-10-01 13:34:45.600955 | controller | ZUUL_CHANGE_IDS=567,0bf30aa672c65d76ab942979d5cc7e063a129ffc 2025-10-01 13:34:45.600961 | controller | WORKSPACE=/home/zuul/workspace 2025-10-01 13:34:45.600968 | controller | XDG_SESSION_CLASS=user 2025-10-01 13:34:45.600974 | controller | SELINUX_ROLE_REQUESTED= 2025-10-01 13:34:45.600980 | controller | LESSOPEN=||/usr/bin/lesspipe.sh %s 2025-10-01 13:34:45.600986 | controller | USER=zuul 2025-10-01 13:34:45.600992 | controller | ZUUL_VOTING=False 2025-10-01 13:34:45.600998 | controller | BUILD_TIMEOUT=7200000 2025-10-01 13:34:45.601004 | controller | SELINUX_USE_CURRENT_RANGE= 2025-10-01 13:34:45.601010 | controller | SHLVL=1 2025-10-01 13:34:45.601016 | controller | ZUUL_PATCHSET=0bf30aa672c65d76ab942979d5cc7e063a129ffc 2025-10-01 13:34:45.601022 | controller | XDG_SESSION_ID=1 2025-10-01 13:34:45.601028 | controller | ZUUL_BRANCH=main 2025-10-01 13:34:45.601034 | controller | XDG_RUNTIME_DIR=/run/user/1000 2025-10-01 13:34:45.601040 | controller | SSH_CLIENT=38.102.83.114 46190 22 2025-10-01 13:34:45.601046 | controller | DEBUGINFOD_URLS=https://debuginfod.centos.org/ 2025-10-01 13:34:45.601052 | controller | DEBUGINFOD_IMA_CERT_PATH=/etc/keys/ima: 2025-10-01 13:34:45.601058 | controller | which_declare=declare -f 2025-10-01 13:34:45.601064 | controller | PATH=/home/zuul/.local/bin:/home/zuul/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin 2025-10-01 13:34:45.601070 | controller | SELINUX_LEVEL_REQUESTED= 2025-10-01 13:34:45.601076 | controller | ZUUL_CHANGE=567 2025-10-01 13:34:45.601082 | controller | DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus 2025-10-01 13:34:45.601088 | controller | ZUUL_UUID=5112f98d0cc645e48f337f3615fe4c49 2025-10-01 13:34:45.601094 | controller | BASH_FUNC_which%%=() { ( alias; 2025-10-01 13:34:45.601100 | controller | eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@ 2025-10-01 13:34:45.601106 | controller | } 2025-10-01 13:34:45.890115 | controller | ok: Runtime: 0:00:00.007775 2025-10-01 13:34:45.907482 | crc | ok: Runtime: 0:00:00.011590 2025-10-01 13:34:45.919889 | 2025-10-01 13:34:45.920037 | TASK [Workaround hardcoded /home/zuul/workspace in zuul_legacy_vars] 2025-10-01 13:34:45.960017 | controller | skipping: Conditional result was False 2025-10-01 13:34:45.981487 | crc | skipping: Conditional result was False 2025-10-01 13:34:45.990387 | 2025-10-01 13:34:45.990489 | TASK [Symlink /home/zuul-worker/workspace] 2025-10-01 13:34:46.574226 | controller | skipping: Conditional result was False 2025-10-01 13:34:46.575181 | crc | skipping: Conditional result was False 2025-10-01 13:34:46.586012 | 2025-10-01 13:34:46.586111 | TASK [Ensure legacy workspace directory] 2025-10-01 13:34:46.878046 | crc | changed 2025-10-01 13:34:46.896500 | controller | changed 2025-10-01 13:34:46.947276 | 2025-10-01 13:34:46.947375 | PLAY RECAP 2025-10-01 13:34:46.947424 | controller | ok: 14 changed: 11 unreachable: 0 failed: 0 skipped: 5 rescued: 0 ignored: 0 2025-10-01 13:34:46.947449 | crc | ok: 14 changed: 10 unreachable: 0 failed: 0 skipped: 5 rescued: 0 ignored: 0 2025-10-01 13:34:46.947467 | 2025-10-01 13:34:47.061453 | PRE-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/ci-framework-rdo-base/pre.yaml@master] 2025-10-01 13:34:47.070391 | PRE-RUN START: [trusted : review.rdoproject.org/config/playbooks/crc/bootstrap-ci-network.yml@master] 2025-10-01 13:34:47.693556 | 2025-10-01 13:34:47.693680 | PLAY [controller] 2025-10-01 13:34:47.719097 | 2025-10-01 13:34:47.719231 | TASK [Debug parameters] 2025-10-01 13:34:47.760775 | controller | ok 2025-10-01 13:34:47.766702 | 2025-10-01 13:34:47.766809 | TASK [Assert crc_ci_bootstrap_cloud_name is defined] 2025-10-01 13:34:47.822700 | controller | ok: All assertions passed 2025-10-01 13:34:47.831595 | 2025-10-01 13:34:47.831694 | TASK [Assert crc_ci_bootstrap_networking is defined and contains the minimum fields] 2025-10-01 13:34:47.875616 | controller | ok: All assertions passed 2025-10-01 13:34:47.886110 | 2025-10-01 13:34:47.886203 | TASK [Assert that the default network exists and has no VLAN tag] 2025-10-01 13:34:47.917877 | controller | ok: All assertions passed 2025-10-01 13:34:47.923266 | 2025-10-01 13:34:47.923342 | LOOP [Assert that all instances has a given fixed IP for each net and default net is present] 2025-10-01 13:34:48.099905 | controller | ok: All assertions passed 2025-10-01 13:34:48.142715 | controller | ok: All assertions passed 2025-10-01 13:34:48.161648 | 2025-10-01 13:34:48.161822 | LOOP [Assert that every host references an valid/declared network] 2025-10-01 13:34:48.252696 | controller | ok: All assertions passed 2025-10-01 13:34:48.253060 | controller | ok: All items complete 2025-10-01 13:34:48.253108 | 2025-10-01 13:34:48.268290 | controller | ok: All assertions passed 2025-10-01 13:34:48.283186 | 2025-10-01 13:34:48.283384 | LOOP [Assert that all instances has in range fixed IP for each net] 2025-10-01 13:34:48.383807 | controller | ok: All assertions passed 2025-10-01 13:34:48.400803 | controller | ok: All assertions passed 2025-10-01 13:34:48.416599 | 2025-10-01 13:34:48.416838 | TASK [Assert that all non-default nets has the vlan tag] 2025-10-01 13:34:48.479330 | controller | ok: All assertions passed 2025-10-01 13:34:48.484084 | 2025-10-01 13:34:48.484144 | TASK [Install required packages] 2025-10-01 13:35:03.609035 | controller | changed 2025-10-01 13:35:03.621250 | 2025-10-01 13:35:03.621382 | TASK [Create openstack config dir] 2025-10-01 13:35:03.976852 | controller | changed 2025-10-01 13:35:03.988979 | 2025-10-01 13:35:03.989144 | LOOP [Create ci dir in etc folder in the controller] 2025-10-01 13:35:04.331300 | controller -> 38.102.83.180 | changed: "crc" 2025-10-01 13:35:04.331707 | controller -> 38.102.83.180 | ok: All items complete 2025-10-01 13:35:04.331810 | 2025-10-01 13:35:04.574963 | controller -> 38.102.83.144 | changed: "controller" 2025-10-01 13:35:04.597670 | 2025-10-01 13:35:04.597884 | TASK [Set global resource names as facts] 2025-10-01 13:35:04.647005 | controller | ok 2025-10-01 13:35:04.658137 | 2025-10-01 13:35:04.658257 | TASK [Generate CA cert file] 2025-10-01 13:35:04.694630 | controller | skipping: Conditional result was False 2025-10-01 13:35:04.707015 | 2025-10-01 13:35:04.707147 | TASK [Update CA certs] 2025-10-01 13:35:05.252208 | controller | skipping: Conditional result was False 2025-10-01 13:35:05.265051 | 2025-10-01 13:35:05.265187 | TASK [Generate clouds config from cloud_secrets secret] 2025-10-01 13:35:06.309329 | controller | changed 2025-10-01 13:35:06.321005 | 2025-10-01 13:35:06.321135 | TASK [Create the default network] 2025-10-01 13:35:11.287198 | controller | admin_state_up: true 2025-10-01 13:35:11.287512 | controller | availability_zone_hints: 2025-10-01 13:35:11.287741 | controller | - nova 2025-10-01 13:35:11.287752 | controller | availability_zones: [] 2025-10-01 13:35:11.288112 | controller | created_at: '2025-10-01T13:35:08Z' 2025-10-01 13:35:11.288320 | controller | description: '' 2025-10-01 13:35:11.288556 | controller | dns_domain: '' 2025-10-01 13:35:11.288807 | controller | id: 89e75ebc-a11f-427f-924d-31d0807c262b 2025-10-01 13:35:11.289150 | controller | ipv4_address_scope: null 2025-10-01 13:35:11.289388 | controller | ipv6_address_scope: null 2025-10-01 13:35:11.289695 | controller | is_default: false 2025-10-01 13:35:11.289899 | controller | is_vlan_qinq: null 2025-10-01 13:35:11.290114 | controller | is_vlan_transparent: true 2025-10-01 13:35:11.290322 | controller | l2_adjacency: true 2025-10-01 13:35:11.290623 | controller | mtu: 1500 2025-10-01 13:35:11.290846 | controller | name: zuul-ci-net-5112f98d 2025-10-01 13:35:11.291069 | controller | port_security_enabled: false 2025-10-01 13:35:11.291318 | controller | project_id: 4b633c451ac74233be3721a3635275e5 2025-10-01 13:35:11.291564 | controller | provider:network_type: null 2025-10-01 13:35:11.291792 | controller | provider:physical_network: null 2025-10-01 13:35:11.292016 | controller | provider:segmentation_id: null 2025-10-01 13:35:11.292222 | controller | qos_policy_id: null 2025-10-01 13:35:11.292454 | controller | revision_number: 1 2025-10-01 13:35:11.292674 | controller | router:external: false 2025-10-01 13:35:11.292870 | controller | segments: null 2025-10-01 13:35:11.293103 | controller | shared: false 2025-10-01 13:35:11.293324 | controller | status: ACTIVE 2025-10-01 13:35:11.293548 | controller | subnets: [] 2025-10-01 13:35:11.293736 | controller | tags: [] 2025-10-01 13:35:11.293976 | controller | updated_at: '2025-10-01T13:35:08Z' 2025-10-01 13:35:11.871844 | controller | changed 2025-10-01 13:35:11.884374 | 2025-10-01 13:35:11.884549 | TASK [Create subnet - ipv4] 2025-10-01 13:35:15.378017 | controller | allocation_pools: 2025-10-01 13:35:15.378134 | controller | - end: 192.168.122.254 2025-10-01 13:35:15.378148 | controller | start: 192.168.122.2 2025-10-01 13:35:15.378159 | controller | cidr: 192.168.122.0/24 2025-10-01 13:35:15.378254 | controller | created_at: '2025-10-01T13:35:15Z' 2025-10-01 13:35:15.378371 | controller | description: '' 2025-10-01 13:35:15.378500 | controller | dns_nameservers: [] 2025-10-01 13:35:15.378640 | controller | dns_publish_fixed_ip: null 2025-10-01 13:35:15.378984 | controller | enable_dhcp: false 2025-10-01 13:35:15.379091 | controller | gateway_ip: 192.168.122.1 2025-10-01 13:35:15.379184 | controller | host_routes: [] 2025-10-01 13:35:15.379299 | controller | id: 50f9264b-a41a-4e7d-a893-f2635852c2d0 2025-10-01 13:35:15.379437 | controller | ip_version: 4 2025-10-01 13:35:15.379545 | controller | ipv6_address_mode: null 2025-10-01 13:35:15.379639 | controller | ipv6_ra_mode: null 2025-10-01 13:35:15.379742 | controller | name: zuul-ci-subnet-5112f98d 2025-10-01 13:35:15.379858 | controller | network_id: 89e75ebc-a11f-427f-924d-31d0807c262b 2025-10-01 13:35:15.379971 | controller | project_id: 4b633c451ac74233be3721a3635275e5 2025-10-01 13:35:15.380066 | controller | revision_number: 0 2025-10-01 13:35:15.380159 | controller | segment_id: null 2025-10-01 13:35:15.380254 | controller | service_types: [] 2025-10-01 13:35:15.380350 | controller | subnetpool_id: null 2025-10-01 13:35:15.380454 | controller | tags: [] 2025-10-01 13:35:15.380567 | controller | updated_at: '2025-10-01T13:35:15Z' 2025-10-01 13:35:15.945666 | controller | changed 2025-10-01 13:35:15.958457 | 2025-10-01 13:35:15.958596 | TASK [Set yaml returned data for further usage] 2025-10-01 13:35:16.041400 | controller | ok 2025-10-01 13:35:16.054678 | 2025-10-01 13:35:16.054861 | TASK [Create router] 2025-10-01 13:35:16.598692 | controller | skipping: Conditional result was False 2025-10-01 13:35:16.611821 | 2025-10-01 13:35:16.611954 | TASK [Set router yaml returned data for further usage] 2025-10-01 13:35:16.680203 | controller | skipping: Conditional result was False 2025-10-01 13:35:16.693389 | 2025-10-01 13:35:16.693523 | TASK [Add router to subnet] 2025-10-01 13:35:17.250314 | controller | skipping: Conditional result was False 2025-10-01 13:35:17.256430 | 2025-10-01 13:35:17.256494 | LOOP [Create ports, VLANs and configure them on the instance] 2025-10-01 13:35:17.307566 | controller | ok: 2025-10-01 13:35:17.307856 | controller | { 2025-10-01 13:35:17.307893 | controller | "key": "controller", 2025-10-01 13:35:17.307919 | controller | "value": { 2025-10-01 13:35:17.307943 | controller | "networks": { 2025-10-01 13:35:17.307965 | controller | "default": { 2025-10-01 13:35:17.307987 | controller | "ip": "192.168.122.11" 2025-10-01 13:35:17.308008 | controller | } 2025-10-01 13:35:17.308029 | controller | } 2025-10-01 13:35:17.308050 | controller | } 2025-10-01 13:35:17.308070 | controller | } 2025-10-01 13:35:20.305556 | controller | ok: 2025-10-01 13:35:20.305652 | controller | { 2025-10-01 13:35:20.305675 | controller | "key": "crc", 2025-10-01 13:35:20.305693 | controller | "value": { 2025-10-01 13:35:20.305709 | controller | "networks": { 2025-10-01 13:35:20.305743 | controller | "default": { 2025-10-01 13:35:20.305764 | controller | "ip": "192.168.122.10" 2025-10-01 13:35:20.305781 | controller | }, 2025-10-01 13:35:20.305797 | controller | "internal-api": { 2025-10-01 13:35:20.305812 | controller | "ip": "172.17.0.5" 2025-10-01 13:35:20.305827 | controller | }, 2025-10-01 13:35:20.305843 | controller | "storage": { 2025-10-01 13:35:20.305858 | controller | "ip": "172.18.0.5" 2025-10-01 13:35:20.305872 | controller | }, 2025-10-01 13:35:20.305887 | controller | "tenant": { 2025-10-01 13:35:20.305902 | controller | "ip": "172.19.0.5" 2025-10-01 13:35:20.305917 | controller | } 2025-10-01 13:35:20.305932 | controller | } 2025-10-01 13:35:20.305947 | controller | } 2025-10-01 13:35:20.305963 | controller | } 2025-10-01 13:35:20.331528 | controller | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/trusted/project_0/review.rdoproject.org/config/playbooks/crc/bootstrap-ci-network-instance.yml 2025-10-01 13:35:20.337286 | controller | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/trusted/project_0/review.rdoproject.org/config/playbooks/crc/bootstrap-ci-network-instance.yml 2025-10-01 13:35:20.352090 | 2025-10-01 13:35:20.352172 | TASK [Create instance ports and attach if necessary] 2025-10-01 13:35:20.374863 | controller | ok 2025-10-01 13:35:20.430961 | controller | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/trusted/project_0/review.rdoproject.org/config/playbooks/crc/bootstrap-ci-network-instance-create-attach-port.yml 2025-10-01 13:35:20.436818 | 2025-10-01 13:35:20.436886 | TASK [Print the host networking data] 2025-10-01 13:35:20.475996 | controller | ok 2025-10-01 13:35:20.481201 | 2025-10-01 13:35:20.481297 | TASK [Create the private network parent port] 2025-10-01 13:35:23.320610 | controller | admin_state_up: true 2025-10-01 13:35:23.320892 | controller | allowed_address_pairs: [] 2025-10-01 13:35:23.321151 | controller | binding_host_id: null 2025-10-01 13:35:23.321299 | controller | binding_profile: {} 2025-10-01 13:35:23.321447 | controller | binding_vif_details: {} 2025-10-01 13:35:23.321579 | controller | binding_vif_type: null 2025-10-01 13:35:23.321758 | controller | binding_vnic_type: normal 2025-10-01 13:35:23.321901 | controller | created_at: '2025-10-01T13:35:22Z' 2025-10-01 13:35:23.322025 | controller | data_plane_status: null 2025-10-01 13:35:23.322152 | controller | description: '' 2025-10-01 13:35:23.322271 | controller | device_id: '' 2025-10-01 13:35:23.322385 | controller | device_owner: '' 2025-10-01 13:35:23.322525 | controller | device_profile: null 2025-10-01 13:35:23.322886 | controller | dns_assignment: 2025-10-01 13:35:23.323024 | controller | - fqdn: host-192-168-122-11.openstacklocal. 2025-10-01 13:35:23.323035 | controller | hostname: host-192-168-122-11 2025-10-01 13:35:23.323045 | controller | ip_address: 192.168.122.11 2025-10-01 13:35:23.323053 | controller | dns_domain: '' 2025-10-01 13:35:23.323178 | controller | dns_name: '' 2025-10-01 13:35:23.323301 | controller | extra_dhcp_opts: [] 2025-10-01 13:35:23.323578 | controller | fixed_ips: 2025-10-01 13:35:23.323711 | controller | - ip_address: 192.168.122.11 2025-10-01 13:35:23.323721 | controller | subnet_id: 50f9264b-a41a-4e7d-a893-f2635852c2d0 2025-10-01 13:35:23.323730 | controller | hardware_offload_type: null 2025-10-01 13:35:23.323841 | controller | hints: '' 2025-10-01 13:35:23.323976 | controller | id: a1ad50e4-32d2-444c-b964-d4942945f6d3 2025-10-01 13:35:23.324097 | controller | ip_allocation: immediate 2025-10-01 13:35:23.324238 | controller | mac_address: fa:16:3e:91:43:cb 2025-10-01 13:35:23.324384 | controller | name: controller-11b705bf-6fbb-4506-90aa-448e4262c074 2025-10-01 13:35:23.324544 | controller | network_id: 89e75ebc-a11f-427f-924d-31d0807c262b 2025-10-01 13:35:23.324674 | controller | numa_affinity_policy: null 2025-10-01 13:35:23.324828 | controller | port_security_enabled: false 2025-10-01 13:35:23.324969 | controller | project_id: 4b633c451ac74233be3721a3635275e5 2025-10-01 13:35:23.325096 | controller | propagate_uplink_status: null 2025-10-01 13:35:23.325250 | controller | resource_request: null 2025-10-01 13:35:23.325551 | controller | revision_number: 1 2025-10-01 13:35:23.325690 | controller | qos_network_policy_id: null 2025-10-01 13:35:23.325832 | controller | qos_policy_id: null 2025-10-01 13:35:23.325955 | controller | security_group_ids: [] 2025-10-01 13:35:23.326068 | controller | status: DOWN 2025-10-01 13:35:23.326193 | controller | tags: [] 2025-10-01 13:35:23.326318 | controller | trunk_details: null 2025-10-01 13:35:23.326467 | controller | trusted: null 2025-10-01 13:35:23.326629 | controller | updated_at: '2025-10-01T13:35:22Z' 2025-10-01 13:35:23.519512 | controller | changed 2025-10-01 13:35:23.525925 | 2025-10-01 13:35:23.526008 | TASK [Set common facts for further usage] 2025-10-01 13:35:23.608078 | controller | ok 2025-10-01 13:35:23.614637 | 2025-10-01 13:35:23.614746 | TASK [Create the trunk port] 2025-10-01 13:35:24.147912 | controller | skipping: Conditional result was False 2025-10-01 13:35:24.156459 | 2025-10-01 13:35:24.156567 | TASK [Avoid NetworkManager to automatically picked up the new interface] 2025-10-01 13:35:24.249301 | controller | skipping: Conditional result was False 2025-10-01 13:35:24.256606 | 2025-10-01 13:35:24.256690 | TASK [Refresh NetworkManager] 2025-10-01 13:35:24.323087 | controller | skipping: Conditional result was False 2025-10-01 13:35:24.330476 | 2025-10-01 13:35:24.330555 | TASK [Attach the port to the instance] 2025-10-01 13:35:31.879076 | controller | changed 2025-10-01 13:35:31.931241 | 2025-10-01 13:35:31.931399 | TASK [Wait till the interface exists] 2025-10-01 13:35:32.235709 | controller -> 38.102.83.144 | changed 2025-10-01 13:35:32.249944 | 2025-10-01 13:35:32.250099 | TASK [Prepare interface data to be used configuring trunk and vlan ifaces] 2025-10-01 13:35:32.395131 | controller | ok 2025-10-01 13:35:32.407636 | 2025-10-01 13:35:32.407834 | LOOP [Create VLANs ports and attach them to the trunk] 2025-10-01 13:35:32.438974 | 2025-10-01 13:35:32.439222 | LOOP [Prepare VLANs interface data to be used configuring] 2025-10-01 13:35:32.497377 | 2025-10-01 13:35:32.497585 | LOOP [Create NetworkManager configuration file for the trunk port] 2025-10-01 13:35:33.329898 | controller -> 38.102.83.144 | changed: 2025-10-01 13:35:33.330107 | controller -> 38.102.83.144 | { 2025-10-01 13:35:33.330132 | controller -> 38.102.83.144 | "key": "default", 2025-10-01 13:35:33.330150 | controller -> 38.102.83.144 | "value": { 2025-10-01 13:35:33.330168 | controller -> 38.102.83.144 | "connection": "ci-private-network", 2025-10-01 13:35:33.330184 | controller -> 38.102.83.144 | "gw": "192.168.122.1", 2025-10-01 13:35:33.330199 | controller -> 38.102.83.144 | "iface": "eth1", 2025-10-01 13:35:33.330215 | controller -> 38.102.83.144 | "ip": "192.168.122.11/24", 2025-10-01 13:35:33.330230 | controller -> 38.102.83.144 | "mac": "fa:16:3e:91:43:cb", 2025-10-01 13:35:33.330245 | controller -> 38.102.83.144 | "mtu": "1500" 2025-10-01 13:35:33.330260 | controller -> 38.102.83.144 | } 2025-10-01 13:35:33.330274 | controller -> 38.102.83.144 | } 2025-10-01 13:35:33.330301 | 2025-10-01 13:35:33.340999 | 2025-10-01 13:35:33.341126 | TASK [Refresh NetworkManager] 2025-10-01 13:35:34.284992 | controller -> 38.102.83.144 | changed 2025-10-01 13:35:34.304504 | 2025-10-01 13:35:34.304688 | TASK [Debug fetch IP routes] 2025-10-01 13:35:34.591967 | controller -> 38.102.83.144 | changed 2025-10-01 13:35:34.606265 | 2025-10-01 13:35:34.606396 | TASK [Debug IP routes] 2025-10-01 13:35:34.654484 | controller -> 38.102.83.144 | ok 2025-10-01 13:35:34.668157 | 2025-10-01 13:35:34.668398 | TASK [Create instance ports and attach if necessary] 2025-10-01 13:35:34.694313 | controller | ok 2025-10-01 13:35:34.714159 | controller | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/trusted/project_0/review.rdoproject.org/config/playbooks/crc/bootstrap-ci-network-instance-create-attach-port.yml 2025-10-01 13:35:34.723248 | 2025-10-01 13:35:34.723352 | TASK [Print the host networking data] 2025-10-01 13:35:34.758524 | controller | ok 2025-10-01 13:35:34.766087 | 2025-10-01 13:35:34.766172 | TASK [Create the private network parent port] 2025-10-01 13:35:37.584095 | controller | admin_state_up: true 2025-10-01 13:35:37.584300 | controller | allowed_address_pairs: [] 2025-10-01 13:35:37.584655 | controller | binding_host_id: null 2025-10-01 13:35:37.584891 | controller | binding_profile: {} 2025-10-01 13:35:37.585109 | controller | binding_vif_details: {} 2025-10-01 13:35:37.585323 | controller | binding_vif_type: null 2025-10-01 13:35:37.585627 | controller | binding_vnic_type: normal 2025-10-01 13:35:37.585873 | controller | created_at: '2025-10-01T13:35:36Z' 2025-10-01 13:35:37.586089 | controller | data_plane_status: null 2025-10-01 13:35:37.586318 | controller | description: '' 2025-10-01 13:35:37.586574 | controller | device_id: '' 2025-10-01 13:35:37.586780 | controller | device_owner: '' 2025-10-01 13:35:37.586993 | controller | device_profile: null 2025-10-01 13:35:37.587722 | controller | dns_assignment: 2025-10-01 13:35:37.587934 | controller | - fqdn: host-192-168-122-10.openstacklocal. 2025-10-01 13:35:37.587951 | controller | hostname: host-192-168-122-10 2025-10-01 13:35:37.587960 | controller | ip_address: 192.168.122.10 2025-10-01 13:35:37.587971 | controller | dns_domain: '' 2025-10-01 13:35:37.588131 | controller | dns_name: '' 2025-10-01 13:35:37.588344 | controller | extra_dhcp_opts: [] 2025-10-01 13:35:37.588960 | controller | fixed_ips: 2025-10-01 13:35:37.589189 | controller | - ip_address: 192.168.122.10 2025-10-01 13:35:37.589200 | controller | subnet_id: 50f9264b-a41a-4e7d-a893-f2635852c2d0 2025-10-01 13:35:37.589210 | controller | hardware_offload_type: null 2025-10-01 13:35:37.589382 | controller | hints: '' 2025-10-01 13:35:37.589646 | controller | id: bd1a3d8a-9911-4914-b08b-7d057035dcc9 2025-10-01 13:35:37.589857 | controller | ip_allocation: immediate 2025-10-01 13:35:37.590083 | controller | mac_address: fa:16:3e:21:c3:dd 2025-10-01 13:35:37.590373 | controller | name: crc-75fe681e-c594-4ab2-ad84-cd261c47a27a 2025-10-01 13:35:37.590673 | controller | network_id: 89e75ebc-a11f-427f-924d-31d0807c262b 2025-10-01 13:35:37.590893 | controller | numa_affinity_policy: null 2025-10-01 13:35:37.591178 | controller | port_security_enabled: false 2025-10-01 13:35:37.591474 | controller | project_id: 4b633c451ac74233be3721a3635275e5 2025-10-01 13:35:37.591750 | controller | propagate_uplink_status: null 2025-10-01 13:35:37.591969 | controller | resource_request: null 2025-10-01 13:35:37.592232 | controller | revision_number: 1 2025-10-01 13:35:37.592536 | controller | qos_network_policy_id: null 2025-10-01 13:35:37.592759 | controller | qos_policy_id: null 2025-10-01 13:35:37.592979 | controller | security_group_ids: [] 2025-10-01 13:35:37.593178 | controller | status: DOWN 2025-10-01 13:35:37.593371 | controller | tags: [] 2025-10-01 13:35:37.593712 | controller | trunk_details: null 2025-10-01 13:35:37.593946 | controller | trusted: null 2025-10-01 13:35:37.594240 | controller | updated_at: '2025-10-01T13:35:37Z' 2025-10-01 13:35:37.811460 | controller | changed 2025-10-01 13:35:37.825382 | 2025-10-01 13:35:37.825556 | TASK [Set common facts for further usage] 2025-10-01 13:35:37.919297 | controller | ok 2025-10-01 13:35:37.929343 | 2025-10-01 13:35:37.929490 | TASK [Create the trunk port] 2025-10-01 13:35:38.476635 | controller | skipping: Conditional result was False 2025-10-01 13:35:38.485819 | 2025-10-01 13:35:38.485908 | TASK [Avoid NetworkManager to automatically picked up the new interface] 2025-10-01 13:35:38.571618 | controller | skipping: Conditional result was False 2025-10-01 13:35:38.580815 | 2025-10-01 13:35:38.580921 | TASK [Refresh NetworkManager] 2025-10-01 13:35:38.648319 | controller | skipping: Conditional result was False 2025-10-01 13:35:38.662024 | 2025-10-01 13:35:38.662202 | TASK [Attach the port to the instance] 2025-10-01 13:35:46.227837 | controller | changed 2025-10-01 13:35:46.240862 | 2025-10-01 13:35:46.240998 | TASK [Wait till the interface exists] 2025-10-01 13:35:46.618958 | controller -> 38.102.83.180 | changed 2025-10-01 13:35:46.628937 | 2025-10-01 13:35:46.629057 | TASK [Prepare interface data to be used configuring trunk and vlan ifaces] 2025-10-01 13:35:46.756146 | controller | ok 2025-10-01 13:35:46.765892 | 2025-10-01 13:35:46.766004 | LOOP [Create VLANs ports and attach them to the trunk] 2025-10-01 13:35:46.806880 | controller | skipping: Conditional result was False 2025-10-01 13:35:49.825215 | controller | skipping: Conditional result was False 2025-10-01 13:35:52.842290 | controller | skipping: Conditional result was False 2025-10-01 13:35:52.858624 | 2025-10-01 13:35:52.858842 | LOOP [Prepare VLANs interface data to be used configuring] 2025-10-01 13:35:53.000312 | controller | ok: 2025-10-01 13:35:53.000654 | controller | { 2025-10-01 13:35:53.000719 | controller | "key": "internal-api", 2025-10-01 13:35:53.000796 | controller | "value": { 2025-10-01 13:35:53.000835 | controller | "ip": "172.17.0.5" 2025-10-01 13:35:53.000871 | controller | } 2025-10-01 13:35:53.000905 | controller | } 2025-10-01 13:35:53.000956 | 2025-10-01 13:35:53.029070 | controller | ok: 2025-10-01 13:35:53.029203 | controller | { 2025-10-01 13:35:53.029249 | controller | "key": "storage", 2025-10-01 13:35:53.029286 | controller | "value": { 2025-10-01 13:35:53.029321 | controller | "ip": "172.18.0.5" 2025-10-01 13:35:53.029355 | controller | } 2025-10-01 13:35:53.029389 | controller | } 2025-10-01 13:35:53.057869 | controller | ok: 2025-10-01 13:35:53.058106 | controller | { 2025-10-01 13:35:53.058168 | controller | "key": "tenant", 2025-10-01 13:35:53.058211 | controller | "value": { 2025-10-01 13:35:53.058248 | controller | "ip": "172.19.0.5" 2025-10-01 13:35:53.058285 | controller | } 2025-10-01 13:35:53.058321 | controller | } 2025-10-01 13:35:53.089114 | 2025-10-01 13:35:53.089283 | LOOP [Create NetworkManager configuration file for the trunk port] 2025-10-01 13:35:54.056607 | controller -> 38.102.83.180 | changed: 2025-10-01 13:35:54.057086 | controller -> 38.102.83.180 | { 2025-10-01 13:35:54.057155 | controller -> 38.102.83.180 | "key": "default", 2025-10-01 13:35:54.057202 | controller -> 38.102.83.180 | "value": { 2025-10-01 13:35:54.057246 | controller -> 38.102.83.180 | "connection": "ci-private-network", 2025-10-01 13:35:54.057289 | controller -> 38.102.83.180 | "gw": "192.168.122.1", 2025-10-01 13:35:54.057330 | controller -> 38.102.83.180 | "iface": "ens7", 2025-10-01 13:35:54.057371 | controller -> 38.102.83.180 | "ip": "192.168.122.10/24", 2025-10-01 13:35:54.057412 | controller -> 38.102.83.180 | "mac": "fa:16:3e:21:c3:dd", 2025-10-01 13:35:54.057451 | controller -> 38.102.83.180 | "mtu": "1500" 2025-10-01 13:35:54.057490 | controller -> 38.102.83.180 | } 2025-10-01 13:35:54.057530 | controller -> 38.102.83.180 | } 2025-10-01 13:35:54.957865 | controller -> 38.102.83.180 | changed: 2025-10-01 13:35:54.958005 | controller -> 38.102.83.180 | { 2025-10-01 13:35:54.958035 | controller -> 38.102.83.180 | "key": "internal-api", 2025-10-01 13:35:54.958058 | controller -> 38.102.83.180 | "value": { 2025-10-01 13:35:54.958080 | controller -> 38.102.83.180 | "connection": "ci-private-network-20", 2025-10-01 13:35:54.958101 | controller -> 38.102.83.180 | "iface": "ens7.20", 2025-10-01 13:35:54.958121 | controller -> 38.102.83.180 | "ip": "172.17.0.5/24", 2025-10-01 13:35:54.958141 | controller -> 38.102.83.180 | "mac": "52:54:00:14:9a:89", 2025-10-01 13:35:54.958161 | controller -> 38.102.83.180 | "mtu": "1496", 2025-10-01 13:35:54.958181 | controller -> 38.102.83.180 | "parent_iface": "ens7", 2025-10-01 13:35:54.958203 | controller -> 38.102.83.180 | "vlan": 20 2025-10-01 13:35:54.958225 | controller -> 38.102.83.180 | } 2025-10-01 13:35:54.958245 | controller -> 38.102.83.180 | } 2025-10-01 13:35:55.952971 | controller -> 38.102.83.180 | changed: 2025-10-01 13:35:55.953095 | controller -> 38.102.83.180 | { 2025-10-01 13:35:55.953117 | controller -> 38.102.83.180 | "key": "storage", 2025-10-01 13:35:55.953136 | controller -> 38.102.83.180 | "value": { 2025-10-01 13:35:55.953153 | controller -> 38.102.83.180 | "connection": "ci-private-network-21", 2025-10-01 13:35:55.953169 | controller -> 38.102.83.180 | "iface": "ens7.21", 2025-10-01 13:35:55.953184 | controller -> 38.102.83.180 | "ip": "172.18.0.5/24", 2025-10-01 13:35:55.953199 | controller -> 38.102.83.180 | "mac": "52:54:00:d6:40:8e", 2025-10-01 13:35:55.953214 | controller -> 38.102.83.180 | "mtu": "1496", 2025-10-01 13:35:55.953228 | controller -> 38.102.83.180 | "parent_iface": "ens7", 2025-10-01 13:35:55.953243 | controller -> 38.102.83.180 | "vlan": 21 2025-10-01 13:35:55.953257 | controller -> 38.102.83.180 | } 2025-10-01 13:35:55.953271 | controller -> 38.102.83.180 | } 2025-10-01 13:35:56.944407 | controller -> 38.102.83.180 | changed: 2025-10-01 13:35:56.944524 | controller -> 38.102.83.180 | { 2025-10-01 13:35:56.944546 | controller -> 38.102.83.180 | "key": "tenant", 2025-10-01 13:35:56.944563 | controller -> 38.102.83.180 | "value": { 2025-10-01 13:35:56.944579 | controller -> 38.102.83.180 | "connection": "ci-private-network-22", 2025-10-01 13:35:56.944593 | controller -> 38.102.83.180 | "iface": "ens7.22", 2025-10-01 13:35:56.944609 | controller -> 38.102.83.180 | "ip": "172.19.0.5/24", 2025-10-01 13:35:56.944624 | controller -> 38.102.83.180 | "mac": "52:54:00:95:ef:e1", 2025-10-01 13:35:56.944639 | controller -> 38.102.83.180 | "mtu": "1496", 2025-10-01 13:35:56.944654 | controller -> 38.102.83.180 | "parent_iface": "ens7", 2025-10-01 13:35:56.944668 | controller -> 38.102.83.180 | "vlan": 22 2025-10-01 13:35:56.944682 | controller -> 38.102.83.180 | } 2025-10-01 13:35:56.944696 | controller -> 38.102.83.180 | } 2025-10-01 13:35:56.968046 | 2025-10-01 13:35:56.968233 | TASK [Refresh NetworkManager] 2025-10-01 13:35:57.945267 | controller -> 38.102.83.180 | changed 2025-10-01 13:35:57.966828 | 2025-10-01 13:35:57.967000 | TASK [Debug fetch IP routes] 2025-10-01 13:35:58.290927 | controller -> 38.102.83.180 | changed 2025-10-01 13:35:58.300331 | 2025-10-01 13:35:58.300432 | TASK [Debug IP routes] 2025-10-01 13:35:58.357448 | controller -> 38.102.83.180 | ok 2025-10-01 13:35:58.366901 | 2025-10-01 13:35:58.367054 | TASK [Display some data about network ports] 2025-10-01 13:36:00.590072 | controller | +--------------------------------------+-------------------------------------------------+-------------------+-------------------------------------------------------------------------------+--------+ 2025-10-01 13:36:00.711310 | controller | | ID | Name | MAC Address | Fixed IP Addresses | Status | 2025-10-01 13:36:00.711484 | controller | +--------------------------------------+-------------------------------------------------+-------------------+-------------------------------------------------------------------------------+--------+ 2025-10-01 13:36:00.711505 | controller | | a1ad50e4-32d2-444c-b964-d4942945f6d3 | controller-11b705bf-6fbb-4506-90aa-448e4262c074 | fa:16:3e:91:43:cb | ip_address='192.168.122.11', subnet_id='50f9264b-a41a-4e7d-a893-f2635852c2d0' | ACTIVE | 2025-10-01 13:36:00.711525 | controller | | bd1a3d8a-9911-4914-b08b-7d057035dcc9 | crc-75fe681e-c594-4ab2-ad84-cd261c47a27a | fa:16:3e:21:c3:dd | ip_address='192.168.122.10', subnet_id='50f9264b-a41a-4e7d-a893-f2635852c2d0' | ACTIVE | 2025-10-01 13:36:00.711543 | controller | | dd0a74fb-2825-4284-ae6a-54036171c4be | | fa:16:3e:2a:e7:1c | | DOWN | 2025-10-01 13:36:00.711562 | controller | +--------------------------------------+-------------------------------------------------+-------------------+-------------------------------------------------------------------------------+--------+ 2025-10-01 13:36:00.917750 | controller | changed 2025-10-01 13:36:00.926764 | 2025-10-01 13:36:00.926910 | LOOP [Display server configuration] 2025-10-01 13:36:03.307127 | controller | changed 2025-10-01 13:36:03.307889 | controller | changed: All items complete 2025-10-01 13:36:03.307990 | 2025-10-01 13:36:08.274922 | controller | changed 2025-10-01 13:36:08.292570 | 2025-10-01 13:36:08.292715 | TASK [Fetch underneath provider DNSs] 2025-10-01 13:36:08.318879 | controller | ok 2025-10-01 13:36:08.330651 | controller | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/trusted/project_0/review.rdoproject.org/config/playbooks/crc/bootstrap-ci-network-fetch-provider-dns.yml 2025-10-01 13:36:08.349198 | 2025-10-01 13:36:08.349348 | TASK [Fetch the DNS list of the default interface] 2025-10-01 13:36:08.786658 | controller | ok 2025-10-01 13:36:08.800701 | 2025-10-01 13:36:08.800891 | TASK [Set provider DNS for further usage] 2025-10-01 13:36:08.885816 | controller | ok 2025-10-01 13:36:08.900347 | 2025-10-01 13:36:08.900481 | LOOP [Save networking data to file for further usage] 2025-10-01 13:36:09.878950 | controller -> 38.102.83.180 | changed: "crc" 2025-10-01 13:36:10.613560 | controller -> 38.102.83.144 | changed: "controller" 2025-10-01 13:36:10.636994 | 2025-10-01 13:36:10.637243 | TASK [Remove cloud_secrets file] 2025-10-01 13:36:10.894159 | controller | changed 2025-10-01 13:36:10.937904 | 2025-10-01 13:36:10.937988 | PLAY RECAP 2025-10-01 13:36:10.938053 | controller | ok: 48 changed: 22 unreachable: 0 failed: 0 skipped: 14 rescued: 0 ignored: 0 2025-10-01 13:36:10.938090 | 2025-10-01 13:36:11.072699 | PRE-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/crc/bootstrap-ci-network.yml@master] 2025-10-01 13:36:11.080686 | PRE-RUN START: [trusted : review.rdoproject.org/config/playbooks/crc/prepare-crc.yaml@master] 2025-10-01 13:36:11.670348 | 2025-10-01 13:36:11.670451 | PLAY [Prefer ipv4 over ipv6] 2025-10-01 13:36:11.705830 | 2025-10-01 13:36:11.705910 | TASK [Configure /etc/gai.conf to prever ipv4 over ipv6] 2025-10-01 13:36:11.772829 | controller | skipping: Conditional result was False 2025-10-01 13:36:11.783795 | crc | skipping: Conditional result was False 2025-10-01 13:36:11.839666 | 2025-10-01 13:36:11.839766 | PLAY [Generic task for migration time to crc-cloud] 2025-10-01 13:36:11.859533 | 2025-10-01 13:36:11.859596 | TASK [Check if there is a image build date file] 2025-10-01 13:36:12.327006 | crc | ok 2025-10-01 13:36:12.343385 | 2025-10-01 13:36:12.343519 | TASK [Print image date] 2025-10-01 13:36:12.810508 | crc | Tue Sep 30 21:34:10 UTC 2025 | Image type: crc-cloud 2025-10-01 13:36:12.903067 | crc | ok 2025-10-01 13:36:12.934508 | 2025-10-01 13:36:12.934651 | TASK [Run crc-cloud preparation] 2025-10-01 13:36:12.975984 | crc | ok 2025-10-01 13:36:13.002353 | 2025-10-01 13:36:13.002433 | TASK [prepare-crc-cloud : Print build date] 2025-10-01 13:36:13.033747 | crc | ok 2025-10-01 13:36:13.041904 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/build_date.yaml 2025-10-01 13:36:13.052228 | 2025-10-01 13:36:13.052294 | TASK [prepare-crc-cloud : Check if there is a image build date file] 2025-10-01 13:36:13.387918 | crc | ok 2025-10-01 13:36:13.404511 | 2025-10-01 13:36:13.404672 | TASK [prepare-crc-cloud : Print image date if available] 2025-10-01 13:36:13.768995 | crc | Tue Sep 30 21:34:10 UTC 2025 | Image type: crc-cloud 2025-10-01 13:36:13.960798 | crc | ok 2025-10-01 13:36:13.977399 | 2025-10-01 13:36:13.977595 | TASK [prepare-crc-cloud : Tune Kubelet config file] 2025-10-01 13:36:14.005173 | crc | skipping: Conditional result was False 2025-10-01 13:36:14.023142 | 2025-10-01 13:36:14.023303 | TASK [prepare-crc-cloud : Reboot CRC host to get the network interfaces] 2025-10-01 13:36:14.067165 | crc | ok 2025-10-01 13:36:14.086916 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/reboot_crc.yaml 2025-10-01 13:36:14.105740 | 2025-10-01 13:36:14.105889 | TASK [prepare-crc-cloud : Reboot host after adding pull secret and changing kubelet node params] 2025-10-01 13:36:36.332590 | crc | changed 2025-10-01 13:36:36.349119 | 2025-10-01 13:36:36.349225 | TASK [Start Zuul console after reboot] 2025-10-01 13:36:36.384851 | crc | ok 2025-10-01 13:36:36.417910 | 2025-10-01 13:36:36.418065 | TASK [start-zuul-console : Start zuul_console daemon.] 2025-10-01 13:36:36.980263 | crc | ok 2025-10-01 13:36:37.014681 | 2025-10-01 13:36:37.014872 | TASK [prepare-crc-cloud : Prepare for executing crc-cloud] 2025-10-01 13:36:37.040441 | crc | ok 2025-10-01 13:36:37.053475 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/pre.yaml 2025-10-01 13:36:37.071425 | 2025-10-01 13:36:37.071571 | TASK [prepare-crc-cloud : Disable overwriting /etc/resolv.conf by the NetworkManager] 2025-10-01 13:36:38.077961 | crc | changed 2025-10-01 13:36:38.095657 | 2025-10-01 13:36:38.095852 | TASK [prepare-crc-cloud : Reload NetworkManager after creating custom rules] 2025-10-01 13:36:38.987417 | crc | changed 2025-10-01 13:36:39.010249 | 2025-10-01 13:36:39.010435 | TASK [prepare-crc-cloud : Inject pull secret into /var/lib/kubelet/config.json] 2025-10-01 13:36:40.042751 | crc | changed 2025-10-01 13:36:40.060296 | 2025-10-01 13:36:40.060433 | TASK [prepare-crc-cloud : Check if etcd slow profile set] 2025-10-01 13:36:40.088412 | crc | skipping: Conditional result was False 2025-10-01 13:36:40.112100 | 2025-10-01 13:36:40.112282 | TASK [prepare-crc-cloud : Use ramdisk for etcd] 2025-10-01 13:36:40.155798 | crc | ok 2025-10-01 13:36:40.181175 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/ramdisk.yaml 2025-10-01 13:36:40.199272 | 2025-10-01 13:36:40.199363 | TASK [prepare-crc-cloud : Move current etcd to other place] 2025-10-01 13:36:40.723963 | crc | ok 2025-10-01 13:36:40.738792 | 2025-10-01 13:36:40.738892 | TASK [prepare-crc-cloud : Mount ramdisk] 2025-10-01 13:36:41.254376 | crc | changed 2025-10-01 13:36:41.265896 | 2025-10-01 13:36:41.265997 | TASK [prepare-crc-cloud : Set proper permissions after mount] 2025-10-01 13:36:41.737936 | crc | changed 2025-10-01 13:36:41.755316 | 2025-10-01 13:36:41.755463 | TASK [prepare-crc-cloud : Copy content from old location to ramdisk] 2025-10-01 13:36:43.343806 | crc | changed 2025-10-01 13:36:43.360848 | 2025-10-01 13:36:43.360995 | TASK [prepare-crc-cloud : Set proper SELinux context] 2025-10-01 13:36:43.930917 | crc | ok 2025-10-01 13:36:43.948646 | 2025-10-01 13:36:43.948826 | TASK [prepare-crc-cloud : Block crc.testing domains] 2025-10-01 13:36:43.993468 | crc | ok 2025-10-01 13:36:44.015651 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/block_crc_domains.yaml 2025-10-01 13:36:44.035452 | 2025-10-01 13:36:44.035545 | LOOP [prepare-crc-cloud : Set crc.testing domains into /etc/hosts] 2025-10-01 13:36:44.464845 | crc | changed: line added 2025-10-01 13:36:44.754096 | crc | changed: line added 2025-10-01 13:36:45.046518 | crc | changed: line added 2025-10-01 13:36:45.337124 | crc | changed: line added 2025-10-01 13:36:45.594259 | crc | changed: line added 2025-10-01 13:36:45.860238 | crc | changed: line added 2025-10-01 13:36:46.154611 | crc | changed: line added 2025-10-01 13:36:46.441872 | crc | changed: line added 2025-10-01 13:36:46.473535 | 2025-10-01 13:36:46.473801 | TASK [prepare-crc-cloud : Get default interface name] 2025-10-01 13:36:46.838872 | crc | ens3 2025-10-01 13:36:47.034416 | crc | ok 2025-10-01 13:36:47.052515 | 2025-10-01 13:36:47.052674 | LOOP [prepare-crc-cloud : Block CRC domains also using iptables] 2025-10-01 13:36:47.577745 | crc | ok 2025-10-01 13:36:47.578255 | crc | changed: All items complete 2025-10-01 13:36:47.578308 | 2025-10-01 13:36:47.921434 | crc | ok 2025-10-01 13:36:48.237104 | crc | ok 2025-10-01 13:36:48.570007 | crc | ok 2025-10-01 13:36:48.854364 | crc | ok 2025-10-01 13:36:49.149716 | crc | ok 2025-10-01 13:36:49.402270 | crc | ok 2025-10-01 13:36:49.691322 | crc | ok 2025-10-01 13:36:49.712832 | 2025-10-01 13:36:49.712995 | TASK [prepare-crc-cloud : Set required facts] 2025-10-01 13:36:49.746421 | crc | ok 2025-10-01 13:36:49.754483 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/set_vars.yaml 2025-10-01 13:36:49.804524 | 2025-10-01 13:36:49.804911 | TASK [prepare-crc-cloud : Set required facts] 2025-10-01 13:36:49.897762 | crc | Output suppressed because no_log was given 2025-10-01 13:36:49.914910 | 2025-10-01 13:36:49.915065 | TASK [Start crc-cloud role when Zuul defined] 2025-10-01 13:36:49.979354 | crc | ok 2025-10-01 13:36:50.047970 | 2025-10-01 13:36:50.048077 | TASK [deploy-crc-cloud : Check if pull-secret is provided] 2025-10-01 13:36:50.073207 | crc | skipping: Conditional result was False 2025-10-01 13:36:50.082561 | 2025-10-01 13:36:50.082632 | TASK [deploy-crc-cloud : Create kubeconfig] 2025-10-01 13:36:50.113574 | crc | ok 2025-10-01 13:36:50.121657 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/kubeconfig.yaml 2025-10-01 13:36:50.133359 | 2025-10-01 13:36:50.133419 | TASK [deploy-crc-cloud : Create kube directory] 2025-10-01 13:36:50.395132 | crc | changed 2025-10-01 13:36:50.410512 | 2025-10-01 13:36:50.410828 | TASK [deploy-crc-cloud : Copy kubeconfig to user dir] 2025-10-01 13:36:50.869357 | crc | changed 2025-10-01 13:36:50.886531 | 2025-10-01 13:36:50.886672 | TASK [deploy-crc-cloud : Setup dnsmasq] 2025-10-01 13:36:50.928189 | crc | ok 2025-10-01 13:36:50.949315 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/dnsmasq.yaml 2025-10-01 13:36:50.966944 | 2025-10-01 13:36:50.967030 | TASK [deploy-crc-cloud : Create crc-dnsmasq.conf] 2025-10-01 13:36:51.874674 | crc | changed 2025-10-01 13:36:51.890693 | 2025-10-01 13:36:51.890865 | LOOP [deploy-crc-cloud : Set this host as first nameserver in /etc/resolv.conf] 2025-10-01 13:36:52.257613 | crc | changed: line replaced 2025-10-01 13:36:52.517201 | crc | ok 2025-10-01 13:36:52.823356 | crc | ok 2025-10-01 13:36:52.847579 | 2025-10-01 13:36:52.847826 | TASK [deploy-crc-cloud : Disable overwriting /etc/resolv.conf by the NetworkManager] 2025-10-01 13:36:53.717768 | crc | ok 2025-10-01 13:36:53.728822 | 2025-10-01 13:36:53.728937 | TASK [deploy-crc-cloud : Restart NetworkManager when its needed] 2025-10-01 13:36:53.755009 | crc | skipping: Conditional result was False 2025-10-01 13:36:53.768429 | 2025-10-01 13:36:53.768554 | TASK [deploy-crc-cloud : Restart dnsmasq] 2025-10-01 13:36:54.665872 | crc | changed 2025-10-01 13:36:54.686367 | 2025-10-01 13:36:54.686500 | TASK [deploy-crc-cloud : Start kubelet] 2025-10-01 13:36:54.723125 | crc | ok 2025-10-01 13:36:54.735692 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/kubelet.yaml 2025-10-01 13:36:54.756350 | 2025-10-01 13:36:54.756437 | TASK [deploy-crc-cloud : Start and enable kubelet] 2025-10-01 13:37:08.864717 | crc | changed 2025-10-01 13:37:08.877503 | 2025-10-01 13:37:08.877608 | TASK [deploy-crc-cloud : Wait for port 6443 to be up] 2025-10-01 13:38:09.425901 | crc | ok 2025-10-01 13:38:09.435939 | 2025-10-01 13:38:09.436056 | TASK [deploy-crc-cloud : Wait for API to start before continue] 2025-10-01 13:38:11.839884 | crc | NAMESPACE NAME READY STATUS RESTARTS AGE 2025-10-01 13:38:11.839955 | crc | openshift-apiserver-operator openshift-apiserver-operator-796bbdcf4f-6z77g 0/1 Pending 0 41s 2025-10-01 13:38:11.839965 | crc | openshift-apiserver apiserver-76f77b778f-nndfg 0/2 Pending 0 41s 2025-10-01 13:38:11.839974 | crc | openshift-authentication-operator authentication-operator-69f744f599-jzv9l 0/1 Pending 0 41s 2025-10-01 13:38:11.839987 | crc | openshift-authentication oauth-openshift-558db77b4-chw44 0/1 Pending 0 41s 2025-10-01 13:38:11.839995 | crc | openshift-cluster-machine-approver machine-approver-56656f9798-ddtd2 0/2 Pending 0 41s 2025-10-01 13:38:11.840004 | crc | openshift-cluster-samples-operator cluster-samples-operator-665b6dd947-ldzzw 0/2 Pending 0 40s 2025-10-01 13:38:11.840012 | crc | openshift-cluster-version cluster-version-operator-5c965bbfc6-bxgm8 0/1 Pending 0 40s 2025-10-01 13:38:11.840021 | crc | openshift-config-operator openshift-config-operator-7777fb866f-xfhs8 0/1 Pending 0 40s 2025-10-01 13:38:11.840029 | crc | openshift-console-operator console-operator-58897d9998-zmlhc 0/1 Pending 0 40s 2025-10-01 13:38:11.840042 | crc | openshift-console console-f9d7485db-r7bcf 0/1 Pending 0 40s 2025-10-01 13:38:11.840051 | crc | openshift-console downloads-7954f5f757-9f8ft 0/1 Pending 0 40s 2025-10-01 13:38:11.840062 | crc | openshift-controller-manager-operator openshift-controller-manager-operator-756b6f6bc6-kjwcn 0/1 Pending 0 40s 2025-10-01 13:38:11.840075 | crc | openshift-controller-manager controller-manager-879f6c89f-wpmxq 0/1 Pending 0 40s 2025-10-01 13:38:11.840097 | crc | openshift-dns-operator dns-operator-744455d44c-sfqhx 0/2 Pending 0 40s 2025-10-01 13:38:11.840132 | crc | openshift-dns node-resolver-679cg 0/1 Pending 0 41s 2025-10-01 13:38:11.840151 | crc | openshift-etcd-operator etcd-operator-b45778765-kjxqs 0/1 Pending 0 40s 2025-10-01 13:38:11.840174 | crc | openshift-image-registry cluster-image-registry-operator-dc59b4c8b-wzdb5 0/1 Pending 0 40s 2025-10-01 13:38:11.840200 | crc | openshift-image-registry image-registry-697d97f7c8-xcl4x 0/1 Pending 0 40s 2025-10-01 13:38:11.840231 | crc | openshift-image-registry node-ca-96g6w 0/1 Pending 0 40s 2025-10-01 13:38:11.840289 | crc | openshift-ingress-operator ingress-operator-5b745b69d9-g4z9v 0/2 Pending 0 40s 2025-10-01 13:38:11.840316 | crc | openshift-ingress router-default-5444994796-8gh62 0/1 Pending 0 40s 2025-10-01 13:38:11.840362 | crc | openshift-kube-apiserver-operator kube-apiserver-operator-766d6c64bb-kgj6n 0/1 Pending 0 40s 2025-10-01 13:38:11.840391 | crc | openshift-kube-apiserver kube-apiserver-crc 0/5 Pending 0 41s 2025-10-01 13:38:11.840444 | crc | openshift-kube-controller-manager-operator kube-controller-manager-operator-78b949d7b-2hz99 0/1 Pending 0 40s 2025-10-01 13:38:11.840519 | crc | openshift-kube-controller-manager kube-controller-manager-crc 0/4 Pending 0 41s 2025-10-01 13:38:11.840536 | crc | openshift-kube-scheduler-operator openshift-kube-scheduler-operator-5fdd9b5758-9vr5w 0/1 Pending 0 40s 2025-10-01 13:38:11.840579 | crc | openshift-kube-scheduler openshift-kube-scheduler-crc 0/3 Pending 0 5s 2025-10-01 13:38:11.840595 | crc | openshift-kube-storage-version-migrator-operator kube-storage-version-migrator-operator-b67b599dd-6dcpv 0/1 Pending 0 40s 2025-10-01 13:38:11.840620 | crc | openshift-kube-storage-version-migrator migrator-59844c95c7-hcsr7 0/2 Pending 0 40s 2025-10-01 13:38:11.840663 | crc | openshift-machine-api control-plane-machine-set-operator-78cbb6b69f-zwfjn 0/1 Pending 0 40s 2025-10-01 13:38:11.840687 | crc | openshift-machine-api machine-api-operator-5694c8668f-r7crv 0/2 Pending 0 40s 2025-10-01 13:38:11.840738 | crc | openshift-machine-config-operator machine-config-controller-84d6567774-z7j9r 0/2 Pending 0 40s 2025-10-01 13:38:11.840753 | crc | openshift-machine-config-operator machine-config-daemon-74ttd 0/2 Pending 0 41s 2025-10-01 13:38:11.840778 | crc | openshift-machine-config-operator machine-config-operator-74547568cd-4gs6j 0/2 Pending 0 40s 2025-10-01 13:38:11.840825 | crc | openshift-marketplace marketplace-operator-79b997595-kxbs7 0/1 Pending 0 40s 2025-10-01 13:38:11.840858 | crc | openshift-multus multus-8svls 0/1 Pending 0 40s 2025-10-01 13:38:11.840904 | crc | openshift-multus multus-additional-cni-plugins-h5t2l 0/1 Pending 0 40s 2025-10-01 13:38:11.840930 | crc | openshift-multus multus-admission-controller-857f4d67dd-j4nkp 0/2 Pending 0 40s 2025-10-01 13:38:11.840977 | crc | openshift-multus network-metrics-daemon-hgfsz 0/2 Pending 0 40s 2025-10-01 13:38:11.841000 | crc | openshift-network-console networking-console-plugin-85b44fc459-gdk6g 1/1 Running 2 220d 2025-10-01 13:38:11.841024 | crc | openshift-network-diagnostics network-check-source-55646444c4-trplf 1/1 Running 2 220d 2025-10-01 13:38:11.841072 | crc | openshift-network-diagnostics network-check-target-xd92c 1/1 Running 2 220d 2025-10-01 13:38:11.841096 | crc | openshift-network-node-identity network-node-identity-vrzqb 2/2 Running 7 220d 2025-10-01 13:38:11.841145 | crc | openshift-network-operator iptables-alerter-4ln5h 1/1 Running 2 220d 2025-10-01 13:38:11.841171 | crc | openshift-network-operator network-operator-58b4c7f79c-55gtf 1/1 Running 4 220d 2025-10-01 13:38:11.841217 | crc | openshift-oauth-apiserver apiserver-7bbb656c7d-vnt9h 0/1 Pending 0 40s 2025-10-01 13:38:11.841239 | crc | openshift-operator-lifecycle-manager catalog-operator-68c6474976-vtvsl 0/1 Pending 0 40s 2025-10-01 13:38:11.841263 | crc | openshift-operator-lifecycle-manager collect-profiles-29322090-dqdht 0/1 Pending 0 40s 2025-10-01 13:38:11.841334 | crc | openshift-operator-lifecycle-manager olm-operator-6b444d44fb-9ljx9 0/1 Pending 0 40s 2025-10-01 13:38:11.841350 | crc | openshift-operator-lifecycle-manager package-server-manager-789f6589d5-gd5zm 0/2 Pending 0 40s 2025-10-01 13:38:11.841401 | crc | openshift-operator-lifecycle-manager packageserver-d55dfcdfc-4fcb5 0/1 Pending 0 40s 2025-10-01 13:38:11.841419 | crc | openshift-ovn-kubernetes ovnkube-control-plane-749d76644c-hvkld 0/2 Pending 0 40s 2025-10-01 13:38:11.841508 | crc | openshift-ovn-kubernetes ovnkube-node-v7jfr 0/8 Pending 0 40s 2025-10-01 13:38:11.841523 | crc | openshift-route-controller-manager route-controller-manager-6576b87f9c-ntw6z 0/1 Pending 0 40s 2025-10-01 13:38:11.841538 | crc | openshift-service-ca-operator service-ca-operator-777779d784-m5w5f 0/1 Pending 0 40s 2025-10-01 13:38:11.841580 | crc | openshift-service-ca service-ca-9c57cc56f-xsqjd 0/1 Pending 0 40s 2025-10-01 13:38:11.995065 | crc | ok 2025-10-01 13:38:12.014438 | 2025-10-01 13:38:12.014648 | TASK [deploy-crc-cloud : Replace default pubkey] 2025-10-01 13:38:12.060149 | crc | ok 2025-10-01 13:38:12.082939 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/pubkey.yaml 2025-10-01 13:38:12.109135 | 2025-10-01 13:38:12.109280 | TASK [deploy-crc-cloud : Check if id_rsa.pub exists] 2025-10-01 13:38:12.470107 | crc | ok 2025-10-01 13:38:12.488269 | 2025-10-01 13:38:12.488484 | TASK [deploy-crc-cloud : Read pub key] 2025-10-01 13:38:13.109433 | crc | skipping: Conditional result was False 2025-10-01 13:38:13.130033 | 2025-10-01 13:38:13.130279 | TASK [deploy-crc-cloud : Wait for machineconfig] 2025-10-01 13:38:13.170593 | crc | skipping: Conditional result was False 2025-10-01 13:38:13.190517 | 2025-10-01 13:38:13.190952 | TASK [deploy-crc-cloud : Patch machineconfig 99-master-ssh] 2025-10-01 13:38:13.752330 | crc | skipping: Conditional result was False 2025-10-01 13:38:13.770329 | 2025-10-01 13:38:13.770510 | TASK [deploy-crc-cloud : Wait for cluster become healthy] 2025-10-01 13:38:13.816886 | crc | ok 2025-10-01 13:38:13.838913 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/wait_cluster_become_healthy.yaml 2025-10-01 13:38:13.869468 | 2025-10-01 13:38:13.869638 | TASK [deploy-crc-cloud : Check if specified OpenShift components are healthy etcd|openshift-apiserver] 2025-10-01 13:38:14.358849 | crc | True 2025-10-01 13:38:14.359609 | crc | False 2025-10-01 13:40:03.160135 | crc | changed 2025-10-01 13:40:03.167911 | 2025-10-01 13:40:03.167977 | TASK [deploy-crc-cloud : Output success message if components are healthy] 2025-10-01 13:40:03.210571 | crc | ok: OpenShift cluster components have become healthy in approximately 20 * 15 seconds. 2025-10-01 13:40:03.217453 | 2025-10-01 13:40:03.217523 | TASK [deploy-crc-cloud : Fail if any components are still unhealthy] 2025-10-01 13:40:03.241815 | crc | skipping: Conditional result was False 2025-10-01 13:40:03.250170 | 2025-10-01 13:40:03.250239 | TASK [deploy-crc-cloud : Set credentials] 2025-10-01 13:40:03.282133 | crc | ok 2025-10-01 13:40:03.327088 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/set_credentials.yaml 2025-10-01 13:40:03.347679 | 2025-10-01 13:40:03.347763 | TASK [deploy-crc-cloud : Ensure htpasswd.txt does not exists] 2025-10-01 13:40:03.632166 | crc | ok 2025-10-01 13:40:03.640214 | 2025-10-01 13:40:03.640277 | TASK [deploy-crc-cloud : Create temporary directory] 2025-10-01 13:40:03.995946 | crc | changed 2025-10-01 13:40:04.003438 | 2025-10-01 13:40:04.003534 | TASK [deploy-crc-cloud : Create Dockerfile] 2025-10-01 13:40:04.760486 | crc | changed 2025-10-01 13:40:04.780144 | 2025-10-01 13:40:04.780293 | TASK [deploy-crc-cloud : Build container image for htpasswd] 2025-10-01 13:40:21.639099 | crc | STEP 1/3: FROM quay.io/centos/centos:stream9-minimal 2025-10-01 13:40:21.654201 | crc | Trying to pull quay.io/centos/centos:stream9-minimal... 2025-10-01 13:40:22.127967 | crc | Getting image source signatures 2025-10-01 13:40:24.097301 | crc | Copying blob sha256:d8c0dbbf20f3017cc356fa40af20d191b0e85e25d7706ee63c2a0cb5ebf6fc7a 2025-10-01 13:40:24.097354 | crc | Copying config sha256:20aff0b003bb92b55d5d701079b860731e831f5cb1708e195790448697d67e85 2025-10-01 13:40:24.106808 | crc | Writing manifest to image destination 2025-10-01 13:40:24.165990 | crc | STEP 2/3: RUN microdnf --setopt=tsflags=nodocs --setopt=install_weak_deps=0 install -y httpd-tools 2025-10-01 13:40:24.778917 | crc | Downloading metadata... 2025-10-01 13:40:25.640274 | crc | Downloading metadata... 2025-10-01 13:40:28.049986 | crc | Downloading metadata... 2025-10-01 13:40:35.830355 | crc | Package Repository Size 2025-10-01 13:40:35.938310 | crc | Installing: 2025-10-01 13:40:35.938367 | crc | apr-1.7.0-12.el9.x86_64 appstream 126.2 kB 2025-10-01 13:40:35.938383 | crc | apr-util-1.6.1-23.el9.x86_64 appstream 97.3 kB 2025-10-01 13:40:35.938397 | crc | apr-util-bdb-1.6.1-23.el9.x86_64 appstream 13.3 kB 2025-10-01 13:40:35.938411 | crc | expat-2.5.0-5.el9.x86_64 baseos 118.6 kB 2025-10-01 13:40:35.938438 | crc | httpd-tools-2.4.62-7.el9.x86_64 appstream 81.5 kB 2025-10-01 13:40:35.938475 | crc | libdb-5.3.28-57.el9.x86_64 baseos 752.9 kB 2025-10-01 13:40:35.938490 | crc | Transaction Summary: 2025-10-01 13:40:35.938503 | crc | Installing: 6 packages 2025-10-01 13:40:35.938517 | crc | Reinstalling: 0 packages 2025-10-01 13:40:35.938530 | crc | Upgrading: 0 packages 2025-10-01 13:40:35.938544 | crc | Obsoleting: 0 packages 2025-10-01 13:40:35.938557 | crc | Removing: 0 packages 2025-10-01 13:40:35.938575 | crc | Downgrading: 0 packages 2025-10-01 13:40:35.938600 | crc | Downloading packages... 2025-10-01 13:40:37.051887 | crc | warning: Signature not supported. Hash algorithm SHA1 not available. 2025-10-01 13:40:37.066543 | crc | 2025-10-01 13:40:37.066598 | crc | (microdnf:1): libdnf-WARNING **: 13:40:37.050: failed to parse public key for /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Extras 2025-10-01 13:40:37.066614 | crc | Running transaction test... 2025-10-01 13:40:37.185296 | crc | Installing: apr;1.7.0-12.el9;x86_64;appstream 2025-10-01 13:40:37.188864 | crc | Installing: expat;2.5.0-5.el9;x86_64;baseos 2025-10-01 13:40:37.193148 | crc | Installing: libdb;5.3.28-57.el9;x86_64;baseos 2025-10-01 13:40:37.203498 | crc | Installing: apr-util-bdb;1.6.1-23.el9;x86_64;appstream 2025-10-01 13:40:37.207107 | crc | Installing: apr-util;1.6.1-23.el9;x86_64;appstream 2025-10-01 13:40:37.208619 | crc | Installing: httpd-tools;2.4.62-7.el9;x86_64;appstream 2025-10-01 13:40:37.243272 | crc | Complete. 2025-10-01 13:40:38.232346 | crc | --> 7bfc20429735 2025-10-01 13:40:38.240303 | crc | STEP 3/3: ENTRYPOINT ["htpasswd", "-Bbn"] 2025-10-01 13:40:38.278718 | crc | COMMIT localhost/htpasswd:latest 2025-10-01 13:40:38.278771 | crc | --> 011935ea65a1 2025-10-01 13:40:38.278796 | crc | Successfully tagged localhost/htpasswd:latest 2025-10-01 13:40:38.306365 | crc | 011935ea65a13f2882cb304c50dedd705222f3433c43b2f3ee080fb664f659c9 2025-10-01 13:40:38.403687 | crc | changed 2025-10-01 13:40:38.419028 | 2025-10-01 13:40:38.419150 | LOOP [deploy-crc-cloud : Get htpasswd] 2025-10-01 13:40:38.497996 | crc | Output suppressed because no_log was given 2025-10-01 13:40:38.511007 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/get_htpasswd.yaml 2025-10-01 13:40:38.512320 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/get_htpasswd.yaml 2025-10-01 13:40:38.513603 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/get_htpasswd.yaml 2025-10-01 13:40:38.531347 | 2025-10-01 13:40:38.531454 | TASK [deploy-crc-cloud : Get htpasswd for developer] 2025-10-01 13:40:38.896384 | crc | time="2025-10-01T13:40:38Z" level=warning msg="The input device is not a TTY. The --tty and --interactive flags might not work properly" 2025-10-01 13:40:39.608830 | crc | changed 2025-10-01 13:40:39.629911 | 2025-10-01 13:40:39.630063 | TASK [deploy-crc-cloud : Get htpasswd for kubeadmin] 2025-10-01 13:40:40.094326 | crc | time="2025-10-01T13:40:40Z" level=warning msg="The input device is not a TTY. The --tty and --interactive flags might not work properly" 2025-10-01 13:40:40.707459 | crc | changed 2025-10-01 13:40:40.729066 | 2025-10-01 13:40:40.729252 | TASK [deploy-crc-cloud : Get htpasswd for redhat] 2025-10-01 13:40:41.179423 | crc | time="2025-10-01T13:40:41Z" level=warning msg="The input device is not a TTY. The --tty and --interactive flags might not work properly" 2025-10-01 13:40:41.807049 | crc | changed 2025-10-01 13:40:41.815322 | 2025-10-01 13:40:41.815396 | TASK [deploy-crc-cloud : Cleanup htpasswd.txt file] 2025-10-01 13:40:42.360090 | crc | changed 2025-10-01 13:40:42.368406 | 2025-10-01 13:40:42.368528 | TASK [deploy-crc-cloud : Create secret with generic htpass-secret] 2025-10-01 13:40:42.922292 | crc | changed 2025-10-01 13:40:42.930454 | 2025-10-01 13:40:42.930584 | TASK [deploy-crc-cloud : Replace htpass-secret] 2025-10-01 13:40:43.380898 | crc | secret/htpass-secret replaced 2025-10-01 13:40:43.490455 | crc | changed 2025-10-01 13:40:43.508480 | 2025-10-01 13:40:43.508601 | TASK [deploy-crc-cloud : Remove temporary directory] 2025-10-01 13:40:43.805234 | crc | changed 2025-10-01 13:40:43.813141 | 2025-10-01 13:40:43.813240 | TASK [deploy-crc-cloud : Replace default CA] 2025-10-01 13:40:43.845282 | crc | ok 2025-10-01 13:40:43.856038 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/replace_default_ca.yaml 2025-10-01 13:40:43.879545 | 2025-10-01 13:40:43.879615 | TASK [deploy-crc-cloud : Generate key] 2025-10-01 13:40:45.947797 | crc | changed 2025-10-01 13:40:45.955870 | 2025-10-01 13:40:45.955962 | TASK [deploy-crc-cloud : Generate cert] 2025-10-01 13:40:46.502194 | crc | changed 2025-10-01 13:40:46.517385 | 2025-10-01 13:40:46.517521 | TASK [deploy-crc-cloud : Generate csr] 2025-10-01 13:40:47.003008 | crc | ......+.....+.......+......+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*...+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.+.+.....+...+.+.........+.........+..+...+...+....+...+.....+.+.........+...+.....+..................+.........+.+.....+.+.....+......+....+...+......+.....+....+.....+.................................+....+....................+.........+.+...+..+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2025-10-01 13:40:47.106137 | crc | .......+.+......+...+..+..........+...+......+..+...+....+......+............+........+....+..+.+.....+....+.........+..+.......+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*....+.+...+............+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*........+..+.+........+.......+..+.+..+.........+.........+.........+.+.........+......+...........+.+........+.......+..+......+.+...+......+.....+....+..+.+.....+..................+....+......+.....+.+......+...............+..+...+.......+..+......+.........+......+.........+.+............+..+.........+.+......+..............+.+..+.+....................+.+......+..+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2025-10-01 13:40:47.109195 | crc | ----- 2025-10-01 13:40:47.602854 | crc | changed 2025-10-01 13:40:47.614952 | 2025-10-01 13:40:47.615127 | TASK [deploy-crc-cloud : Generate user cert] 2025-10-01 13:40:48.075363 | crc | Certificate request self-signature ok 2025-10-01 13:40:48.085532 | crc | subject=O = ${GROUP}, CN = core 2025-10-01 13:40:48.212934 | crc | changed 2025-10-01 13:40:48.220656 | 2025-10-01 13:40:48.220753 | TASK [deploy-crc-cloud : Create configmap] 2025-10-01 13:40:48.765064 | crc | configmap/client-ca-custom created 2025-10-01 13:40:49.277840 | crc | changed 2025-10-01 13:40:49.295898 | 2025-10-01 13:40:49.296085 | TASK [deploy-crc-cloud : Patch apiserver] 2025-10-01 13:40:49.873103 | crc | apiserver.config.openshift.io/cluster patched 2025-10-01 13:40:49.962558 | crc | changed 2025-10-01 13:40:49.984536 | 2025-10-01 13:40:49.984777 | TASK [deploy-crc-cloud : Create configmap] 2025-10-01 13:40:50.452194 | crc | W1001 13:40:50.452108 14254 helpers.go:703] --dry-run is deprecated and can be replaced with --dry-run=client. 2025-10-01 13:40:50.528844 | crc | configmap/admin-kubeconfig-client-ca replaced 2025-10-01 13:40:50.576106 | crc | changed 2025-10-01 13:40:50.588126 | 2025-10-01 13:40:50.588241 | TASK [deploy-crc-cloud : Login to the OpenShift cluster] 2025-10-01 13:40:50.624844 | crc | ok 2025-10-01 13:40:50.635256 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/login.yaml 2025-10-01 13:40:50.671959 | 2025-10-01 13:40:50.672079 | TASK [deploy-crc-cloud : Try to login after all changes] 2025-10-01 13:40:51.125640 | crc | WARNING: Using insecure TLS client config. Setting this option is not supported! 2025-10-01 13:40:51.274640 | crc | 2025-10-01 13:40:51.274704 | crc | Login successful. 2025-10-01 13:40:51.291839 | crc | 2025-10-01 13:40:51.291883 | crc | You have access to 65 projects, the list has been suppressed. You can list all projects with 'oc projects' 2025-10-01 13:40:51.339926 | crc | 2025-10-01 13:40:51.340086 | crc | Using project "default". 2025-10-01 13:40:51.728573 | crc | ok 2025-10-01 13:40:51.739848 | 2025-10-01 13:40:51.739934 | TASK [deploy-crc-cloud : Patch pull secret] 2025-10-01 13:40:51.776880 | crc | ok 2025-10-01 13:40:51.788698 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/patch_pull_secret.yaml 2025-10-01 13:40:51.826014 | 2025-10-01 13:40:51.826182 | TASK [deploy-crc-cloud : Patch pull secret] 2025-10-01 13:40:52.490804 | crc | Output suppressed because no_log was given 2025-10-01 13:40:52.507593 | 2025-10-01 13:40:52.507870 | TASK [deploy-crc-cloud : Wait for cluster become healthy after patching CA and pull secret] 2025-10-01 13:40:52.552919 | crc | ok 2025-10-01 13:40:52.568433 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/wait_cluster_become_healthy.yaml 2025-10-01 13:40:52.611073 | 2025-10-01 13:40:52.611270 | TASK [deploy-crc-cloud : Check if specified OpenShift components are healthy etcd|openshift-apiserver] 2025-10-01 13:40:53.262519 | crc | True 2025-10-01 13:40:53.263345 | crc | True 2025-10-01 13:40:53.307108 | crc | changed 2025-10-01 13:40:53.317589 | 2025-10-01 13:40:53.317696 | TASK [deploy-crc-cloud : Output success message if components are healthy] 2025-10-01 13:40:53.354859 | crc | ok: OpenShift cluster components have become healthy in approximately 20 * 15 seconds. 2025-10-01 13:40:53.367039 | 2025-10-01 13:40:53.367193 | TASK [deploy-crc-cloud : Fail if any components are still unhealthy] 2025-10-01 13:40:53.392683 | crc | skipping: Conditional result was False 2025-10-01 13:40:53.404992 | 2025-10-01 13:40:53.405129 | TASK [deploy-crc-cloud : Create certificate and patch secret] 2025-10-01 13:40:53.419918 | crc | skipping: Conditional result was False 2025-10-01 13:40:53.428488 | 2025-10-01 13:40:53.428586 | TASK [deploy-crc-cloud : Wait for cluster become healthy after adding domain] 2025-10-01 13:40:53.450105 | crc | ok 2025-10-01 13:40:53.460432 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/wait_cluster_become_healthy.yaml 2025-10-01 13:40:53.493613 | 2025-10-01 13:40:53.493776 | TASK [deploy-crc-cloud : Check if specified OpenShift components are healthy etcd|openshift-apiserver] 2025-10-01 13:40:53.929922 | crc | True 2025-10-01 13:40:53.930596 | crc | True 2025-10-01 13:40:54.051804 | crc | changed 2025-10-01 13:40:54.063826 | 2025-10-01 13:40:54.063966 | TASK [deploy-crc-cloud : Output success message if components are healthy] 2025-10-01 13:40:54.122439 | crc | ok: OpenShift cluster components have become healthy in approximately 20 * 15 seconds. 2025-10-01 13:40:54.132837 | 2025-10-01 13:40:54.132927 | TASK [deploy-crc-cloud : Fail if any components are still unhealthy] 2025-10-01 13:40:54.158894 | crc | skipping: Conditional result was False 2025-10-01 13:40:54.171926 | 2025-10-01 13:40:54.172083 | TASK [deploy-crc-cloud : Patch ingress config] 2025-10-01 13:40:54.189515 | crc | skipping: Conditional result was False 2025-10-01 13:40:54.198798 | 2025-10-01 13:40:54.198919 | TASK [deploy-crc-cloud : Patch api server] 2025-10-01 13:40:54.213202 | crc | skipping: Conditional result was False 2025-10-01 13:40:54.222262 | 2025-10-01 13:40:54.222373 | TASK [deploy-crc-cloud : Patch default route] 2025-10-01 13:40:54.236796 | crc | skipping: Conditional result was False 2025-10-01 13:40:54.247435 | 2025-10-01 13:40:54.247531 | TASK [deploy-crc-cloud : Wait for cluster become healthy after changing ingress api server and default route] 2025-10-01 13:40:54.269660 | crc | ok 2025-10-01 13:40:54.278078 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/wait_cluster_become_healthy.yaml 2025-10-01 13:40:54.336924 | 2025-10-01 13:40:54.337071 | TASK [deploy-crc-cloud : Check if specified OpenShift components are healthy authentication|console|etcd|ingress|openshift-apiserver] 2025-10-01 13:40:54.893784 | crc | False 2025-10-01 13:40:54.894527 | crc | True 2025-10-01 13:40:54.894545 | crc | True 2025-10-01 13:40:54.894554 | crc | True 2025-10-01 13:40:54.894561 | crc | True 2025-10-01 13:41:41.394163 | crc | changed 2025-10-01 13:41:41.410532 | 2025-10-01 13:41:41.410707 | TASK [deploy-crc-cloud : Output success message if components are healthy] 2025-10-01 13:41:41.458488 | crc | ok: OpenShift cluster components have become healthy in approximately 20 * 15 seconds. 2025-10-01 13:41:41.476636 | 2025-10-01 13:41:41.476933 | TASK [deploy-crc-cloud : Fail if any components are still unhealthy] 2025-10-01 13:41:41.503399 | crc | skipping: Conditional result was False 2025-10-01 13:41:41.513741 | 2025-10-01 13:41:41.513830 | TASK [deploy-crc-cloud : Get console route] 2025-10-01 13:41:41.537783 | crc | skipping: Conditional result was False 2025-10-01 13:41:41.569988 | 2025-10-01 13:41:41.570181 | TASK [Start crc-cloud role when Zuul is not defined] 2025-10-01 13:41:41.618054 | crc | skipping: Conditional result was False 2025-10-01 13:41:41.631550 | 2025-10-01 13:41:41.631680 | TASK [prepare-crc-cloud : Recreate kubelet config.json] 2025-10-01 13:41:41.664706 | crc | ok 2025-10-01 13:41:41.675374 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/inject-pull-secret.yaml 2025-10-01 13:41:41.698465 | 2025-10-01 13:41:41.698571 | TASK [prepare-crc-cloud : Fail when openshift_pull_sec not provided] 2025-10-01 13:41:41.743415 | crc | skipping: Conditional result was False 2025-10-01 13:41:41.751952 | 2025-10-01 13:41:41.752043 | TASK [prepare-crc-cloud : Cleanup file] 2025-10-01 13:41:42.292770 | crc | Output suppressed because no_log was given 2025-10-01 13:41:42.303903 | 2025-10-01 13:41:42.304000 | TASK [prepare-crc-cloud : Copy pull-secret to kubelet config.json] 2025-10-01 13:41:42.673994 | crc | Output suppressed because no_log was given 2025-10-01 13:41:42.692386 | 2025-10-01 13:41:42.692535 | TASK [prepare-crc-cloud : Replace singleqoute with doublequote] 2025-10-01 13:41:43.227273 | crc | changed: 42 replacements made 2025-10-01 13:41:43.238130 | 2025-10-01 13:41:43.238220 | TASK [prepare-crc-cloud : Remove spaces] 2025-10-01 13:41:43.566297 | crc | changed: 20 replacements made 2025-10-01 13:41:43.586255 | 2025-10-01 13:41:43.586456 | TASK [prepare-crc-cloud : Ensure you are logged in to the OpenShift] 2025-10-01 13:41:43.625380 | crc | ok 2025-10-01 13:41:43.637567 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/openshift_login.yaml 2025-10-01 13:41:43.671183 | 2025-10-01 13:41:43.671272 | TASK [prepare-crc-cloud : Login to the OpenShift] 2025-10-01 13:41:44.158392 | crc | WARNING: Using insecure TLS client config. Setting this option is not supported! 2025-10-01 13:41:44.294239 | crc | 2025-10-01 13:41:44.294341 | crc | Login successful. 2025-10-01 13:41:44.325427 | crc | 2025-10-01 13:41:44.325506 | crc | You have access to 65 projects, the list has been suppressed. You can list all projects with 'oc projects' 2025-10-01 13:41:44.348232 | crc | 2025-10-01 13:41:44.348301 | crc | Using project "default". 2025-10-01 13:41:44.713425 | crc | ok 2025-10-01 13:41:44.724238 | 2025-10-01 13:41:44.724335 | TASK [prepare-crc-cloud : Post tasks after crc-cloud script execution] 2025-10-01 13:41:44.761669 | crc | ok 2025-10-01 13:41:44.777330 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/post.yaml 2025-10-01 13:41:44.812971 | 2025-10-01 13:41:44.813103 | LOOP [prepare-crc-cloud : Set DNS nameservers provided by cloud provider] 2025-10-01 13:41:45.190888 | crc | changed: line added 2025-10-01 13:41:45.191459 | crc | changed: All items complete 2025-10-01 13:41:45.191525 | 2025-10-01 13:41:45.451585 | crc | changed: line added 2025-10-01 13:41:45.475560 | 2025-10-01 13:41:45.475852 | TASK [prepare-crc-cloud : Increase dnsmasq cache size] 2025-10-01 13:41:45.836992 | crc | changed: line added 2025-10-01 13:41:45.856619 | 2025-10-01 13:41:45.856909 | TASK [prepare-crc-cloud : Reload NetworkManager after adding cache and DNS server] 2025-10-01 13:41:46.806130 | crc | changed 2025-10-01 13:41:46.831432 | 2025-10-01 13:41:46.831607 | TASK [prepare-crc-cloud : Ensure kube config does not exists] 2025-10-01 13:41:47.110071 | crc | ok 2025-10-01 13:41:47.118223 | 2025-10-01 13:41:47.118292 | TASK [prepare-crc-cloud : Copy new generated KUBECONFIG] 2025-10-01 13:41:47.142931 | crc | skipping: Conditional result was False 2025-10-01 13:41:47.152129 | 2025-10-01 13:41:47.152199 | TASK [prepare-crc-cloud : Delete all openshift-marketplace pods] 2025-10-01 13:41:47.652064 | crc | pod "certified-operators-rjxls" deleted 2025-10-01 13:41:47.663724 | crc | pod "community-operators-7fkzd" deleted 2025-10-01 13:41:47.672560 | crc | pod "marketplace-operator-79b997595-kxbs7" deleted 2025-10-01 13:41:47.679804 | crc | pod "redhat-marketplace-rgjkf" deleted 2025-10-01 13:41:47.691886 | crc | pod "redhat-operators-k2p9p" deleted 2025-10-01 13:41:49.221151 | crc | ok 2025-10-01 13:41:49.239116 | 2025-10-01 13:41:49.239336 | TASK [prepare-crc-cloud : Pause machineconfigpool] 2025-10-01 13:41:49.286321 | crc | ok 2025-10-01 13:41:49.305606 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/pause_mcp.yaml 2025-10-01 13:41:49.392111 | 2025-10-01 13:41:49.392247 | LOOP [prepare-crc-cloud : Pause the machineconfig configuration if mcp is not needed] 2025-10-01 13:41:49.973397 | crc | ok 2025-10-01 13:41:50.460504 | crc | ok 2025-10-01 13:41:50.493036 | 2025-10-01 13:41:50.493269 | TASK [prepare-crc-cloud : Print current machineconfigpool] 2025-10-01 13:41:50.952759 | crc | NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE 2025-10-01 13:41:50.961231 | crc | master rendered-master-f83a149c7490c3b0bf850df839837383 False True True 1 0 0 1 220d 2025-10-01 13:41:50.961279 | crc | worker rendered-worker-594cc07c9feefb5e37f2530ac457d36c True False False 0 0 0 0 220d 2025-10-01 13:41:51.055589 | crc | ok 2025-10-01 13:41:51.072262 | 2025-10-01 13:41:51.072428 | TASK [prepare-crc-cloud : Set low profile to etcd to avoid flakiness] 2025-10-01 13:41:51.110225 | crc | skipping: Conditional result was False 2025-10-01 13:41:51.127655 | 2025-10-01 13:41:51.127839 | TASK [prepare-crc-cloud : Fix machineconfigpool degradation] 2025-10-01 13:41:51.155337 | crc | skipping: Conditional result was False 2025-10-01 13:41:51.173513 | 2025-10-01 13:41:51.173655 | TASK [prepare-crc-cloud : Remove drain machineconfig for the node] 2025-10-01 13:41:51.201140 | crc | skipping: Conditional result was False 2025-10-01 13:41:51.222007 | 2025-10-01 13:41:51.222103 | TASK [prepare-crc-cloud : Post machineconfigpool tasks] 2025-10-01 13:41:51.247669 | crc | skipping: Conditional result was False 2025-10-01 13:41:51.259421 | 2025-10-01 13:41:51.259539 | TASK [prepare-crc-cloud : Enable monitoring and cluster-monitoring-operator] 2025-10-01 13:41:51.285019 | crc | skipping: Conditional result was False 2025-10-01 13:41:51.305778 | 2025-10-01 13:41:51.305896 | TASK [Run crc-extracted preparation] 2025-10-01 13:41:51.331758 | crc | skipping: Conditional result was False 2025-10-01 13:41:51.347194 | 2025-10-01 13:41:51.347287 | TASK [Fail when image build date does not exists] 2025-10-01 13:41:51.372892 | crc | skipping: Conditional result was False 2025-10-01 13:41:51.411644 | 2025-10-01 13:41:51.411710 | PLAY [Set IOPS and Read/Write disk limitation] 2025-10-01 13:41:51.439784 | 2025-10-01 13:41:51.439863 | TASK [Set limit for disk usage - IOPS and Read/Write] 2025-10-01 13:41:51.524348 | controller | ok 2025-10-01 13:41:51.531085 | crc | ok 2025-10-01 13:41:51.559448 | 2025-10-01 13:41:51.559528 | TASK [disk-usage-limitation : Get block device major:minor] 2025-10-01 13:41:52.087392 | crc | 252:0 2025-10-01 13:41:52.011310 | controller | 252:0 2025-10-01 13:41:52.128837 | controller | ok 2025-10-01 13:41:52.274255 | crc | ok 2025-10-01 13:41:52.281304 | 2025-10-01 13:41:52.281380 | LOOP [disk-usage-limitation : Ensure that some cgroup dirs exists] 2025-10-01 13:41:52.522656 | controller | ok: "/sys/fs/cgroup/init.scope" 2025-10-01 13:41:52.522920 | controller | ok: All items complete 2025-10-01 13:41:52.522948 | 2025-10-01 13:41:52.583932 | crc | ok: "/sys/fs/cgroup/init.scope" 2025-10-01 13:41:52.750616 | controller | changed: "/sys/fs/cgroup/machine.slice" 2025-10-01 13:41:52.980165 | controller | ok: "/sys/fs/cgroup/system.slice" 2025-10-01 13:41:53.023384 | crc | ok: "/sys/fs/cgroup/machine.slice" 2025-10-01 13:41:53.217926 | controller | ok: "/sys/fs/cgroup/user.slice" 2025-10-01 13:41:53.309088 | crc | ok: "/sys/fs/cgroup/system.slice" 2025-10-01 13:41:53.639472 | crc | ok: "/sys/fs/cgroup/user.slice" 2025-10-01 13:41:53.664782 | 2025-10-01 13:41:53.665000 | TASK [disk-usage-limitation : Enable IO limit] 2025-10-01 13:41:53.933137 | controller | changed: line replaced 2025-10-01 13:41:54.005675 | crc | changed: line replaced 2025-10-01 13:41:54.014568 | 2025-10-01 13:41:54.014657 | TASK [disk-usage-limitation : Flush handlers that will call systemd daemon-reload] 2025-10-01 13:41:54.031850 | 2025-10-01 13:41:54.031969 | TASK [disk-usage-limitation : Flush handlers that will call systemd daemon-reload] 2025-10-01 13:41:54.045117 | 2025-10-01 13:41:54.045181 | TASK [disk-usage-limitation : Reload systemd daemon after enabling IOAccounting] 2025-10-01 13:41:54.964283 | controller | ok 2025-10-01 13:41:55.938601 | crc | ok 2025-10-01 13:41:55.955978 | 2025-10-01 13:41:55.956161 | TASK [disk-usage-limitation : Wait for system.slice cgroup to have io.max file] 2025-10-01 13:41:56.232592 | controller | ok 2025-10-01 13:41:56.311372 | crc | ok 2025-10-01 13:41:56.327720 | 2025-10-01 13:41:56.327909 | LOOP [disk-usage-limitation : Set IOPS limit in the root cgroup] 2025-10-01 13:41:56.674625 | controller | ok 2025-10-01 13:41:56.677855 | controller | ok: All items complete 2025-10-01 13:41:56.677960 | 2025-10-01 13:41:56.694823 | crc | ok 2025-10-01 13:41:56.876162 | controller | ok 2025-10-01 13:41:56.981931 | crc | ok 2025-10-01 13:41:57.129969 | controller | ok 2025-10-01 13:41:57.292448 | crc | ok 2025-10-01 13:41:57.368479 | controller | ok 2025-10-01 13:41:57.595915 | crc | ok 2025-10-01 13:41:57.621123 | 2025-10-01 13:41:57.621352 | TASK [disk-usage-limitation : Verify the IOPS limit] 2025-10-01 13:41:58.032606 | crc | init 2025-10-01 13:41:58.033845 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-10-01 13:41:58.034008 | crc | machine 2025-10-01 13:41:58.035232 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-10-01 13:41:58.035376 | crc | system 2025-10-01 13:41:58.036505 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-10-01 13:41:58.036563 | crc | user 2025-10-01 13:41:58.037569 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-10-01 13:41:57.982036 | controller | init 2025-10-01 13:41:57.982297 | controller | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-10-01 13:41:57.982309 | controller | machine 2025-10-01 13:41:57.982315 | controller | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-10-01 13:41:57.982322 | controller | system 2025-10-01 13:41:57.982331 | controller | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-10-01 13:41:57.986429 | controller | user 2025-10-01 13:41:57.986449 | controller | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-10-01 13:41:58.250905 | controller | ok 2025-10-01 13:41:58.269614 | crc | ok 2025-10-01 13:41:58.284678 | 2025-10-01 13:41:58.284891 | TASK [disk-usage-limitation : Check if kubepods.slice exists] 2025-10-01 13:41:58.554944 | controller | ok 2025-10-01 13:41:58.624772 | crc | ok 2025-10-01 13:41:58.640069 | 2025-10-01 13:41:58.640212 | TASK [disk-usage-limitation : Set the limit] 2025-10-01 13:41:59.232634 | controller | skipping: Conditional result was False 2025-10-01 13:41:59.250258 | crc | ok 2025-10-01 13:41:59.265927 | 2025-10-01 13:41:59.266083 | TASK [disk-usage-limitation : Verify the IOPS limit - kubepods slice] 2025-10-01 13:41:59.653199 | crc | kubepods 2025-10-01 13:41:59.653247 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-10-01 13:41:59.848652 | controller | skipping: Conditional result was False 2025-10-01 13:41:59.859004 | crc | ok 2025-10-01 13:41:59.867515 | 2025-10-01 13:41:59.867647 | TASK [disk-usage-limitation : Print the current io.max value] 2025-10-01 13:41:59.952980 | controller | ok: 2025-10-01 13:41:59.953217 | controller | init 2025-10-01 13:41:59.953255 | controller | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-10-01 13:41:59.953283 | controller | machine 2025-10-01 13:41:59.953309 | controller | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-10-01 13:41:59.953333 | controller | system 2025-10-01 13:41:59.953357 | controller | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-10-01 13:41:59.953381 | controller | user 2025-10-01 13:41:59.953405 | controller | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-10-01 13:41:59.963571 | crc | ok: 2025-10-01 13:41:59.963711 | crc | init 2025-10-01 13:41:59.963818 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-10-01 13:41:59.963850 | crc | machine 2025-10-01 13:41:59.963878 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-10-01 13:41:59.963904 | crc | system 2025-10-01 13:41:59.963930 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-10-01 13:41:59.963956 | crc | user 2025-10-01 13:41:59.963988 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 kubepods 2025-10-01 13:41:59.964015 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-10-01 13:42:00.031020 | 2025-10-01 13:42:00.031115 | PLAY RECAP 2025-10-01 13:42:00.031158 | controller | ok: 9 changed: 2 unreachable: 0 failed: 0 skipped: 3 rescued: 0 ignored: 0 2025-10-01 13:42:00.031183 | crc | ok: 104 changed: 43 unreachable: 0 failed: 0 skipped: 27 rescued: 0 ignored: 0 2025-10-01 13:42:00.031200 | 2025-10-01 13:42:00.186017 | PRE-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/crc/prepare-crc.yaml@master] 2025-10-01 13:42:00.189875 | PRE-RUN START: [trusted : review.rdoproject.org/config/playbooks/crc/podman.yaml@master] 2025-10-01 13:42:00.793216 | 2025-10-01 13:42:00.793332 | PLAY [all,!compute] 2025-10-01 13:42:00.831284 | 2025-10-01 13:42:00.831404 | TASK [Enable container-tools rhel-modules for c8/crc node] 2025-10-01 13:42:01.396285 | controller | skipping: Conditional result was False 2025-10-01 13:42:01.397362 | crc | skipping: Conditional result was False 2025-10-01 13:42:01.414922 | 2025-10-01 13:42:01.415124 | TASK [Install podman] 2025-10-01 13:42:01.498178 | crc | skipping: Conditional result was False 2025-10-01 13:43:12.209003 | controller | changed 2025-10-01 13:43:12.225270 | 2025-10-01 13:43:12.225427 | TASK [Set var name for quay login zuul secret] 2025-10-01 13:43:12.273145 | controller | skipping: Conditional result was False 2025-10-01 13:43:12.324873 | crc | skipping: Conditional result was False 2025-10-01 13:43:12.334520 | 2025-10-01 13:43:12.334649 | TASK [Print the username] 2025-10-01 13:43:12.831098 | controller | openstack-k8s-operators+cirobot 2025-10-01 13:43:12.943851 | crc | skipping: Conditional result was False 2025-10-01 13:43:12.953200 | controller | ok: Runtime: 0:00:00.006467 2025-10-01 13:43:12.961715 | 2025-10-01 13:43:12.961824 | TASK [Fail when user or password is not set] 2025-10-01 13:43:13.025238 | crc | skipping: Conditional result was False 2025-10-01 13:43:13.046706 | controller | skipping: Conditional result was False 2025-10-01 13:43:13.063065 | 2025-10-01 13:43:13.063212 | TASK [Set vars for quay login] 2025-10-01 13:43:13.133173 | controller | Output suppressed because no_log was given 2025-10-01 13:43:13.172650 | 2025-10-01 13:43:13.172821 | LOOP [Perform container registry login(s) with podman] 2025-10-01 13:43:14.032885 | controller | Output suppressed because no_log was given 2025-10-01 13:43:14.048401 | 2025-10-01 13:43:14.048549 | LOOP [Perform container registry login(s) with buildah] 2025-10-01 13:43:14.139981 | controller | Output suppressed because no_log was given 2025-10-01 13:43:14.140279 | 2025-10-01 13:43:14.153797 | 2025-10-01 13:43:14.153899 | TASK [Set Insecure registry for content provider] 2025-10-01 13:43:14.234719 | crc | skipping: Conditional result was False 2025-10-01 13:43:14.746784 | controller | changed: Block inserted 2025-10-01 13:43:14.830803 | 2025-10-01 13:43:14.831114 | PLAY RECAP 2025-10-01 13:43:14.831353 | controller | ok: 5 changed: 4 unreachable: 0 failed: 0 skipped: 4 rescued: 0 ignored: 0 2025-10-01 13:43:14.831485 | crc | ok: 0 changed: 0 unreachable: 0 failed: 0 skipped: 9 rescued: 0 ignored: 0 2025-10-01 13:43:14.831582 | 2025-10-01 13:43:14.962203 | PRE-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/crc/podman.yaml@master] 2025-10-01 13:43:14.967754 | PRE-RUN START: [trusted : review.rdoproject.org/config/playbooks/data_plane_adoption/dpa_RH_subscription_registry_login.yaml@master] 2025-10-01 13:43:15.626986 | 2025-10-01 13:43:15.627100 | PLAY [rh-subscription] 2025-10-01 13:43:15.627191 | 2025-10-01 13:43:15.627227 | PLAY RECAP 2025-10-01 13:43:15.627255 | 2025-10-01 13:43:15.727067 | PRE-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/data_plane_adoption/dpa_RH_subscription_registry_login.yaml@master] 2025-10-01 13:43:15.730551 | PRE-RUN START: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/multinode-customizations.yml@main] 2025-10-01 13:43:16.420405 | 2025-10-01 13:43:16.420530 | PLAY [Tweak CRC node] 2025-10-01 13:43:16.449541 | 2025-10-01 13:43:16.449622 | TASK [Load network parameters] 2025-10-01 13:43:17.121164 | crc | ok 2025-10-01 13:43:17.138806 | 2025-10-01 13:43:17.139028 | TASK [Check which dnsmasq config we must edit] 2025-10-01 13:43:17.587802 | crc | ok 2025-10-01 13:43:17.599353 | 2025-10-01 13:43:17.599500 | TASK [Ensure crc knows about its second NIC] 2025-10-01 13:43:18.783277 | crc | changed 2025-10-01 13:43:18.791634 | 2025-10-01 13:43:18.791815 | TASK [Ensure crc does not get "public" DNS] 2025-10-01 13:43:19.645191 | crc | changed 2025-10-01 13:43:19.662814 | 2025-10-01 13:43:19.663005 | TASK [Restart NetworkManager] 2025-10-01 13:43:20.864639 | crc | changed 2025-10-01 13:43:20.888178 | 2025-10-01 13:43:20.888329 | LOOP [Configure dns forwarders] 2025-10-01 13:43:21.377309 | crc | ok 2025-10-01 13:43:21.686095 | crc | ok 2025-10-01 13:43:21.710521 | 2025-10-01 13:43:21.710721 | TASK [Configure local DNS for CRC pod] 2025-10-01 13:43:22.248011 | crc | ok 2025-10-01 13:43:22.257902 | 2025-10-01 13:43:22.257988 | TASK [Configure dnsmasq listen-address to listen on both br-ex and ci-private-network] 2025-10-01 13:43:22.681196 | crc | changed: line added 2025-10-01 13:43:22.697874 | 2025-10-01 13:43:22.698013 | TASK [Restart native dnsmasq service] 2025-10-01 13:43:23.315442 | crc | changed 2025-10-01 13:43:23.339688 | 2025-10-01 13:43:23.339871 | TASK [Stop dnsmasq] 2025-10-01 13:43:23.367533 | crc | skipping: Conditional result was False 2025-10-01 13:43:23.379115 | 2025-10-01 13:43:23.379209 | TASK [Make sure that crc-dnsmasq is not running] 2025-10-01 13:43:23.407076 | crc | skipping: Conditional result was False 2025-10-01 13:43:23.419775 | 2025-10-01 13:43:23.419884 | TASK [Start dnsmasq] 2025-10-01 13:43:23.446195 | crc | skipping: Conditional result was False 2025-10-01 13:43:23.461355 | 2025-10-01 13:43:23.461457 | TASK [Wait for CRC to be ready] 2025-10-01 13:43:24.166773 | crc | WARNING: Using insecure TLS client config. Setting this option is not supported! 2025-10-01 13:43:24.289669 | crc | 2025-10-01 13:43:24.290530 | crc | Login successful. 2025-10-01 13:43:24.314073 | crc | 2025-10-01 13:43:24.314126 | crc | You have access to 65 projects, the list has been suppressed. You can list all projects with 'oc projects' 2025-10-01 13:43:24.330306 | crc | 2025-10-01 13:43:24.330330 | crc | Using project "default". 2025-10-01 13:43:24.515479 | crc | changed 2025-10-01 13:43:24.535214 | 2025-10-01 13:43:24.535370 | TASK [Set insecure registry on crc node] 2025-10-01 13:43:24.594102 | crc | ok 2025-10-01 13:43:24.612909 | crc | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/tasks/set_crc_insecure_registry.yml 2025-10-01 13:43:24.623119 | 2025-10-01 13:43:24.623283 | TASK [Patch the image.config.openshift.io resource to include insecure registry] 2025-10-01 13:43:25.139879 | crc | image.config.openshift.io/cluster patched 2025-10-01 13:43:25.674924 | crc | changed 2025-10-01 13:43:25.692627 | 2025-10-01 13:43:25.693057 | TASK [Patch the image.config.openshift.io resource to allow registries] 2025-10-01 13:43:26.322699 | crc | image.config.openshift.io/cluster patched 2025-10-01 13:43:26.816433 | crc | changed 2025-10-01 13:43:26.826430 | 2025-10-01 13:43:26.826516 | TASK [Ensure registries.conf.d exists] 2025-10-01 13:43:27.266952 | crc | ok 2025-10-01 13:43:27.283679 | 2025-10-01 13:43:27.283905 | TASK [Set Insecure registry for content provider] 2025-10-01 13:43:27.736644 | crc | changed: File created 2025-10-01 13:43:27.752228 | 2025-10-01 13:43:27.752379 | TASK [Restart crio] 2025-10-01 13:43:29.626973 | crc | changed 2025-10-01 13:43:29.681122 | 2025-10-01 13:43:29.681238 | PLAY [Tweak Controller] 2025-10-01 13:43:29.706404 | 2025-10-01 13:43:29.706525 | TASK [Install other packages] 2025-10-01 13:43:34.847469 | controller | changed 2025-10-01 13:43:34.860434 | 2025-10-01 13:43:34.860577 | LOOP [Ensure we know compute host keys] 2025-10-01 13:43:35.367908 | controller | changed 2025-10-01 13:43:35.368368 | controller | ok: All items complete 2025-10-01 13:43:35.368442 | 2025-10-01 13:43:35.710987 | controller | changed 2025-10-01 13:43:35.732994 | 2025-10-01 13:43:35.733153 | TASK [Generate an ssh keypair] 2025-10-01 13:43:36.039588 | controller | Generating public/private ecdsa key pair. 2025-10-01 13:43:36.041282 | controller | Your identification has been saved in /home/zuul/.ssh/id_cifw 2025-10-01 13:43:36.041304 | controller | Your public key has been saved in /home/zuul/.ssh/id_cifw.pub 2025-10-01 13:43:36.041311 | controller | The key fingerprint is: 2025-10-01 13:43:36.041317 | controller | SHA256:ui8sSWbm5B75MiBOugLT0WW+P1/I93ne3B3veZWsPWY zuul@np0005464627.novalocal 2025-10-01 13:43:36.041324 | controller | The key's randomart image is: 2025-10-01 13:43:36.041330 | controller | +---[ECDSA 256]---+ 2025-10-01 13:43:36.041336 | controller | | | 2025-10-01 13:43:36.041342 | controller | | o | 2025-10-01 13:43:36.041347 | controller | | . + | 2025-10-01 13:43:36.041353 | controller | | . . . | 2025-10-01 13:43:36.041359 | controller | | . . .S . .| 2025-10-01 13:43:36.041365 | controller | |+.o *... . . o.| 2025-10-01 13:43:36.041371 | controller | |=o Xoo.. o o o..| 2025-10-01 13:43:36.041376 | controller | |o. Boo.o o o EX| 2025-10-01 13:43:36.041382 | controller | |o. ..+oo.o. ==@| 2025-10-01 13:43:36.041388 | controller | +----[SHA256]-----+ 2025-10-01 13:43:36.285045 | controller | changed 2025-10-01 13:43:36.303460 | 2025-10-01 13:43:36.303631 | TASK [Get public key] 2025-10-01 13:43:36.697174 | controller | ok 2025-10-01 13:43:36.705816 | 2025-10-01 13:43:36.705932 | TASK [Register pub key as a fact] 2025-10-01 13:43:36.754717 | controller | ok 2025-10-01 13:43:36.767000 | 2025-10-01 13:43:36.767148 | TASK [Load network parameters] 2025-10-01 13:43:37.105578 | controller | ok 2025-10-01 13:43:37.118423 | 2025-10-01 13:43:37.118566 | TASK [Check if cloud-init is overriding NM settings] 2025-10-01 13:43:37.498913 | controller | ok 2025-10-01 13:43:37.512063 | 2025-10-01 13:43:37.512191 | TASK [Remove cloud-init DNS override if present] 2025-10-01 13:43:37.542189 | controller | skipping: Conditional result was False 2025-10-01 13:43:37.557916 | 2025-10-01 13:43:37.558101 | TASK [Reload the NetworkManager to pick the changes] 2025-10-01 13:43:37.587840 | controller | skipping: Conditional result was False 2025-10-01 13:43:37.666288 | 2025-10-01 13:43:37.666471 | TASK [Get the default iface connection] 2025-10-01 13:43:38.095031 | controller | System eth0 2025-10-01 13:43:38.202559 | controller | changed 2025-10-01 13:43:38.215785 | 2025-10-01 13:43:38.215909 | TASK [Prepend CRC DNS server in the controllers default Network Manager connection configuation] 2025-10-01 13:43:38.839574 | controller | Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5) 2025-10-01 13:43:39.283023 | controller | changed 2025-10-01 13:43:39.344030 | 2025-10-01 13:43:39.344264 | PLAY [Ensure persistent SSH access] 2025-10-01 13:43:39.411681 | 2025-10-01 13:43:39.411974 | TASK [Inject key in ansible_user] 2025-10-01 13:43:40.153767 | crc | changed 2025-10-01 13:43:40.212604 | controller | changed 2025-10-01 13:43:40.220291 | 2025-10-01 13:43:40.220369 | TASK [Inject key in root] 2025-10-01 13:43:40.712788 | crc | changed 2025-10-01 13:43:40.779436 | controller | changed 2025-10-01 13:43:40.887638 | 2025-10-01 13:43:40.887837 | PLAY [Add cloud-admin user on Compute] 2025-10-01 13:43:40.889263 | 2025-10-01 13:43:40.889328 | PLAY [Set some fancy hostname] 2025-10-01 13:43:40.915834 | 2025-10-01 13:43:40.915928 | TASK [Inject hostname in configuration file] 2025-10-01 13:43:42.041822 | controller | changed 2025-10-01 13:43:42.077540 | 2025-10-01 13:43:42.077655 | PLAY RECAP 2025-10-01 13:43:42.077715 | controller | ok: 12 changed: 8 unreachable: 0 failed: 0 skipped: 2 rescued: 0 ignored: 0 2025-10-01 13:43:42.077780 | crc | ok: 18 changed: 12 unreachable: 0 failed: 0 skipped: 3 rescued: 0 ignored: 0 2025-10-01 13:43:42.077814 | 2025-10-01 13:43:42.245886 | PRE-RUN END RESULT_NORMAL: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/multinode-customizations.yml@main] 2025-10-01 13:43:42.249177 | PRE-RUN START: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/e2e-prepare.yml@main] 2025-10-01 13:43:42.911205 | 2025-10-01 13:43:42.911327 | PLAY [Run ci/playbooks/e2e-prepare.yml] 2025-10-01 13:43:42.939793 | 2025-10-01 13:43:42.939911 | TASK [Clone repos in the job workspace] 2025-10-01 13:43:42.980426 | controller | ok 2025-10-01 13:43:43.004938 | 2025-10-01 13:43:43.005101 | TASK [prepare-workspace : Start zuul_console daemon.] 2025-10-01 13:43:43.688926 | controller | ok 2025-10-01 13:43:43.711226 | 2025-10-01 13:43:43.711521 | TASK [prepare-workspace : Synchronize src repos to workspace directory.] 2025-10-01 13:43:57.285044 | controller | Output suppressed because no_log was given 2025-10-01 13:43:57.295784 | 2025-10-01 13:43:57.295852 | TASK [Create zuul-output directory] 2025-10-01 13:43:57.741373 | controller | ok 2025-10-01 13:43:57.755268 | 2025-10-01 13:43:57.755464 | TASK [Install required packages] 2025-10-01 13:43:58.958684 | controller | ok: Nothing to do 2025-10-01 13:43:58.974620 | 2025-10-01 13:43:58.974815 | TASK [Output pip related things] 2025-10-01 13:43:59.635115 | controller | pip 21.3.1 from /usr/lib/python3.9/site-packages/pip (python 3.9) 2025-10-01 13:44:00.028817 | controller | changed 2025-10-01 13:44:00.037411 | 2025-10-01 13:44:00.037595 | TASK [Install requirements] 2025-10-01 13:46:11.201077 | controller | changed 2025-10-01 13:46:11.232075 | 2025-10-01 13:46:11.232221 | TASK [Add cronjob to trigger job stats] 2025-10-01 13:46:11.300235 | controller | skipping: Conditional result was False 2025-10-01 13:46:11.316535 | 2025-10-01 13:46:11.316863 | LOOP [Construct project change list] 2025-10-01 13:46:11.402435 | controller | ok: 2025-10-01 13:46:11.402797 | controller | { 2025-10-01 13:46:11.402865 | controller | "branch": "main", 2025-10-01 13:46:11.402911 | controller | "change": "567", 2025-10-01 13:46:11.402959 | 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-10-01 13:46:11.403168 | controller | "change_url": "https://github.com/openstack-k8s-operators/keystone-operator/pull/567", 2025-10-01 13:46:11.403237 | controller | "commit_id": "0bf30aa672c65d76ab942979d5cc7e063a129ffc", 2025-10-01 13:46:11.403302 | controller | "patchset": "0bf30aa672c65d76ab942979d5cc7e063a129ffc", 2025-10-01 13:46:11.403342 | controller | "project": { 2025-10-01 13:46:11.403381 | controller | "canonical_hostname": "github.com", 2025-10-01 13:46:11.403418 | controller | "canonical_name": "github.com/openstack-k8s-operators/keystone-operator", 2025-10-01 13:46:11.403456 | controller | "name": "openstack-k8s-operators/keystone-operator", 2025-10-01 13:46:11.403492 | controller | "short_name": "keystone-operator", 2025-10-01 13:46:11.403528 | controller | "src_dir": "src/github.com/openstack-k8s-operators/keystone-operator" 2025-10-01 13:46:11.403857 | controller | }, 2025-10-01 13:46:11.404096 | controller | "topic": null 2025-10-01 13:46:11.404154 | controller | } 2025-10-01 13:46:11.484540 | 2025-10-01 13:46:11.484657 | PLAY [Run ci/playbooks/build_runner_image.yml] 2025-10-01 13:46:11.523360 | 2025-10-01 13:46:11.523491 | TASK [Filter out host if needed] 2025-10-01 13:46:11.534554 | controller | skipping: end_host conditional evaluated to False, continuing execution for controller 2025-10-01 13:46:11.540776 | 2025-10-01 13:46:11.540832 | TASK [Filter out host if needed] 2025-10-01 13:46:11.551399 | crc | skipping: end_host conditional evaluated to False, continuing execution for crc 2025-10-01 13:46:11.585718 | 2025-10-01 13:46:11.585858 | TASK [Get git tag for image tagging] 2025-10-01 13:46:12.152192 | controller | skipping: Conditional result was False 2025-10-01 13:46:12.153214 | crc | skipping: Conditional result was False 2025-10-01 13:46:12.167306 | 2025-10-01 13:46:12.167478 | TASK [Set openstack-runner image] 2025-10-01 13:46:12.200646 | controller | skipping: Conditional result was False 2025-10-01 13:46:12.223011 | crc | skipping: Conditional result was False 2025-10-01 13:46:12.239523 | 2025-10-01 13:46:12.239661 | TASK [Build openstack-runner image] 2025-10-01 13:46:12.278017 | controller | skipping: Conditional result was False 2025-10-01 13:46:12.289355 | crc | skipping: Conditional result was False 2025-10-01 13:46:12.303313 | 2025-10-01 13:46:12.303530 | TASK [Push openstack-runner image] 2025-10-01 13:46:12.326715 | controller | skipping: Conditional result was False 2025-10-01 13:46:12.338390 | crc | skipping: Conditional result was False 2025-10-01 13:46:12.344894 | 2025-10-01 13:46:12.344956 | TASK [Make sure ci-framework directory exists] 2025-10-01 13:46:12.366692 | controller | skipping: Conditional result was False 2025-10-01 13:46:12.377742 | crc | skipping: Conditional result was False 2025-10-01 13:46:12.384797 | 2025-10-01 13:46:12.384869 | TASK [Create EDPM ansible var file] 2025-10-01 13:46:12.415402 | controller | skipping: Conditional result was False 2025-10-01 13:46:12.416214 | crc | skipping: Conditional result was False 2025-10-01 13:46:12.461992 | 2025-10-01 13:46:12.462051 | PLAY RECAP 2025-10-01 13:46:12.462092 | controller | ok: 7 changed: 3 unreachable: 0 failed: 0 skipped: 7 rescued: 0 ignored: 0 2025-10-01 13:46:12.462118 | crc | ok: 0 changed: 0 unreachable: 0 failed: 0 skipped: 6 rescued: 0 ignored: 0 2025-10-01 13:46:12.462135 | 2025-10-01 13:46:12.665666 | PRE-RUN END RESULT_NORMAL: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/e2e-prepare.yml@main] 2025-10-01 13:46:12.673799 | PRE-RUN START: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/dump_zuul_data.yml@main] 2025-10-01 13:46:13.310093 | 2025-10-01 13:46:13.310210 | PLAY [Run ci/playbooks/dump_zuul_data.yml] 2025-10-01 13:46:13.334815 | 2025-10-01 13:46:13.334948 | TASK [Create zuul-output directory] 2025-10-01 13:46:13.967138 | controller | changed 2025-10-01 13:46:13.981119 | 2025-10-01 13:46:13.981279 | TASK [Slurp Zuul inventory test] 2025-10-01 13:46:14.446821 | controller -> localhost | ok 2025-10-01 13:46:14.454673 | 2025-10-01 13:46:14.454771 | TASK [Save zuul inventory] 2025-10-01 13:46:15.614268 | controller | changed 2025-10-01 13:46:15.629282 | 2025-10-01 13:46:15.629453 | TASK [Save zuul vars without the change_message] 2025-10-01 13:46:17.733221 | controller | changed 2025-10-01 13:46:17.777936 | 2025-10-01 13:46:17.778063 | PLAY RECAP 2025-10-01 13:46:17.778126 | controller | ok: 4 changed: 3 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2025-10-01 13:46:17.778155 | 2025-10-01 13:46:17.884926 | PRE-RUN END RESULT_NORMAL: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/dump_zuul_data.yml@main] 2025-10-01 13:46:17.888558 | RUN START: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/dump_zuul_data.yml@main] 2025-10-01 13:46:18.525203 | 2025-10-01 13:46:18.525319 | PLAY [Run ci/playbooks/dump_zuul_data.yml] 2025-10-01 13:46:18.548268 | 2025-10-01 13:46:18.548355 | TASK [Create zuul-output directory] 2025-10-01 13:46:19.156765 | controller | ok 2025-10-01 13:46:19.162669 | 2025-10-01 13:46:19.162888 | TASK [Slurp Zuul inventory test] 2025-10-01 13:46:19.658905 | controller -> localhost | ok 2025-10-01 13:46:19.678066 | 2025-10-01 13:46:19.678219 | TASK [Save zuul inventory] 2025-10-01 13:46:20.598533 | controller | ok 2025-10-01 13:46:20.613712 | 2025-10-01 13:46:20.613886 | TASK [Save zuul vars without the change_message] 2025-10-01 13:46:21.350383 | controller | ok 2025-10-01 13:46:21.391532 | 2025-10-01 13:46:21.391658 | PLAY RECAP 2025-10-01 13:46:21.391722 | controller | ok: 4 changed: 0 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2025-10-01 13:46:21.391779 | 2025-10-01 13:46:21.497761 | RUN END RESULT_NORMAL: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/dump_zuul_data.yml@main] 2025-10-01 13:46:21.501312 | RUN START: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/run.yml@main] 2025-10-01 13:46:22.076625 | 2025-10-01 13:46:22.076761 | PLAY [Run ci/playbooks/kuttl/run.yml] 2025-10-01 13:46:22.100956 | 2025-10-01 13:46:22.101121 | TASK [Run kuttl tests playbook] 2025-10-01 13:46:23.666602 | controller | 2025-10-01 13:46:24.718670 | controller | PLAY [Bootstrap playbook] ****************************************************** 2025-10-01 13:46:24.718786 | controller | 2025-10-01 13:46:24.718794 | controller | TASK [Gathering Facts ] ******************************************************** 2025-10-01 13:46:24.718801 | controller | Wednesday 01 October 2025 13:46:23 +0000 (0:00:00.043) 0:00:00.043 ***** 2025-10-01 13:46:24.718817 | controller | ok: [localhost] 2025-10-01 13:46:24.750131 | controller | 2025-10-01 13:46:24.750203 | 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-10-01 13:46:24.750215 | controller | Wednesday 01 October 2025 13:46:24 +0000 (0:00:01.070) 0:00:01.114 ***** 2025-10-01 13:46:24.750233 | controller | ok: [localhost] 2025-10-01 13:46:24.801081 | controller | 2025-10-01 13:46:24.801138 | controller | TASK [cifmw_setup : Get customized parameters ci_framework_params={{ 2025-10-01 13:46:24.801146 | controller | hostvars[inventory_hostname] | 2025-10-01 13:46:24.801157 | controller | dict2items | 2025-10-01 13:46:24.801163 | controller | selectattr("key", "match", 2025-10-01 13:46:24.801169 | controller | "^(cifmw|pre|post)_(?!install_yamls|openshift_token|openshift_login|openshift_kubeconfig).*") | 2025-10-01 13:46:24.801176 | controller | list | items2dict 2025-10-01 13:46:24.801182 | controller | }}] *** 2025-10-01 13:46:24.801188 | controller | Wednesday 01 October 2025 13:46:24 +0000 (0:00:00.031) 0:00:01.145 ***** 2025-10-01 13:46:24.801202 | controller | ok: [localhost] 2025-10-01 13:46:25.157230 | controller | 2025-10-01 13:46:25.157288 | controller | TASK [install_ca : Ensure target directory exists path={{ cifmw_install_ca_trust_dir }}, state=directory, mode=0755] *** 2025-10-01 13:46:25.157296 | controller | Wednesday 01 October 2025 13:46:24 +0000 (0:00:00.050) 0:00:01.196 ***** 2025-10-01 13:46:25.157310 | controller | ok: [localhost] 2025-10-01 13:46:25.184211 | controller | 2025-10-01 13:46:25.184277 | 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-10-01 13:46:25.184288 | controller | Wednesday 01 October 2025 13:46:25 +0000 (0:00:00.355) 0:00:01.552 ***** 2025-10-01 13:46:25.184308 | controller | skipping: [localhost] 2025-10-01 13:46:25.209998 | controller | 2025-10-01 13:46:25.210071 | 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-10-01 13:46:25.210081 | controller | Wednesday 01 October 2025 13:46:25 +0000 (0:00:00.027) 0:00:01.579 ***** 2025-10-01 13:46:25.210097 | controller | skipping: [localhost] 2025-10-01 13:46:25.238787 | controller | 2025-10-01 13:46:25.238832 | 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-10-01 13:46:25.238841 | controller | Wednesday 01 October 2025 13:46:25 +0000 (0:00:00.025) 0:00:01.605 ***** 2025-10-01 13:46:25.238854 | controller | skipping: [localhost] 2025-10-01 13:46:26.909754 | controller | 2025-10-01 13:46:26.909800 | controller | TASK [install_ca : Update ca bundle _raw_params=update-ca-trust] *************** 2025-10-01 13:46:26.909808 | controller | Wednesday 01 October 2025 13:46:25 +0000 (0:00:00.028) 0:00:01.634 ***** 2025-10-01 13:46:26.909820 | controller | changed: [localhost] 2025-10-01 13:46:27.549697 | controller | 2025-10-01 13:46:27.549736 | controller | TASK [repo_setup : Ensure directories are present path={{ cifmw_repo_setup_basedir }}/{{ item }}, state=directory, mode=0755] *** 2025-10-01 13:46:27.549745 | controller | Wednesday 01 October 2025 13:46:26 +0000 (0:00:01.670) 0:00:03.304 ***** 2025-10-01 13:46:27.549756 | controller | changed: [localhost] => (item=tmp) 2025-10-01 13:46:28.812218 | controller | changed: [localhost] => (item=artifacts/repositories) 2025-10-01 13:46:28.812256 | controller | changed: [localhost] => (item=venv/repo_setup) 2025-10-01 13:46:28.812264 | controller | 2025-10-01 13:46:28.812270 | controller | TASK [repo_setup : Make sure git-core package is installed name=git-core, state=present] *** 2025-10-01 13:46:28.812277 | controller | Wednesday 01 October 2025 13:46:27 +0000 (0:00:00.640) 0:00:03.945 ***** 2025-10-01 13:46:28.812299 | controller | ok: [localhost] 2025-10-01 13:46:30.339695 | controller | 2025-10-01 13:46:30.339731 | 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-10-01 13:46:30.339743 | controller | Wednesday 01 October 2025 13:46:28 +0000 (0:00:01.262) 0:00:05.207 ***** 2025-10-01 13:46:30.339759 | controller | changed: [localhost] 2025-10-01 13:46:40.401229 | controller | 2025-10-01 13:46:40.401268 | 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-10-01 13:46:40.401280 | controller | Wednesday 01 October 2025 13:46:30 +0000 (0:00:01.527) 0:00:06.735 ***** 2025-10-01 13:46:40.401292 | controller | changed: [localhost] 2025-10-01 13:46:41.291758 | controller | 2025-10-01 13:46:41.291794 | 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-10-01 13:46:41.291806 | controller | Wednesday 01 October 2025 13:46:40 +0000 (0:00:10.061) 0:00:16.796 ***** 2025-10-01 13:46:41.292034 | controller | changed: [localhost] 2025-10-01 13:46:41.316412 | controller | 2025-10-01 13:46:41.316459 | 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-10-01 13:46:41.316472 | controller | Wednesday 01 October 2025 13:46:41 +0000 (0:00:00.890) 0:00:17.687 ***** 2025-10-01 13:46:41.316485 | controller | skipping: [localhost] 2025-10-01 13:46:42.004073 | controller | 2025-10-01 13:46:42.004149 | 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-10-01 13:46:42.004161 | controller | Wednesday 01 October 2025 13:46:41 +0000 (0:00:00.024) 0:00:17.712 ***** 2025-10-01 13:46:42.004187 | controller | changed: [localhost] 2025-10-01 13:46:42.046957 | controller | 2025-10-01 13:46:42.047040 | 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-10-01 13:46:42.047052 | controller | Wednesday 01 October 2025 13:46:42 +0000 (0:00:00.687) 0:00:18.399 ***** 2025-10-01 13:46:42.047070 | controller | skipping: [localhost] 2025-10-01 13:46:42.082949 | controller | 2025-10-01 13:46:42.083033 | 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-10-01 13:46:42.083047 | controller | Wednesday 01 October 2025 13:46:42 +0000 (0:00:00.042) 0:00:18.442 ***** 2025-10-01 13:46:42.083066 | controller | skipping: [localhost] 2025-10-01 13:46:42.126194 | controller | 2025-10-01 13:46:42.126274 | 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-10-01 13:46:42.126284 | controller | Wednesday 01 October 2025 13:46:42 +0000 (0:00:00.036) 0:00:18.478 ***** 2025-10-01 13:46:42.126320 | controller | skipping: [localhost] 2025-10-01 13:46:42.609851 | controller | 2025-10-01 13:46:42.609898 | 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-10-01 13:46:42.609909 | controller | Wednesday 01 October 2025 13:46:42 +0000 (0:00:00.043) 0:00:18.521 ***** 2025-10-01 13:46:42.609924 | controller | changed: [localhost] 2025-10-01 13:46:43.267832 | controller | 2025-10-01 13:46:43.267897 | controller | TASK [repo_setup : Dump full hash in delorean.repo.md5 file content={{ _repo_setup_json['full_hash'] }} 2025-10-01 13:46:43.267906 | controller | , dest={{ cifmw_repo_setup_basedir }}/artifacts/repositories/delorean.repo.md5, mode=0644] *** 2025-10-01 13:46:43.267913 | controller | Wednesday 01 October 2025 13:46:42 +0000 (0:00:00.483) 0:00:19.005 ***** 2025-10-01 13:46:43.267927 | controller | changed: [localhost] 2025-10-01 13:46:43.290745 | controller | 2025-10-01 13:46:43.290826 | 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-10-01 13:46:43.290836 | controller | Wednesday 01 October 2025 13:46:43 +0000 (0:00:00.657) 0:00:19.663 ***** 2025-10-01 13:46:43.290855 | controller | skipping: [localhost] 2025-10-01 13:46:43.315030 | controller | 2025-10-01 13:46:43.315087 | controller | TASK [repo_setup : Slurp current podified hash src={{ cifmw_repo_setup_basedir }}/artifacts/repositories/delorean.repo.md5] *** 2025-10-01 13:46:43.315097 | controller | Wednesday 01 October 2025 13:46:43 +0000 (0:00:00.022) 0:00:19.685 ***** 2025-10-01 13:46:43.315211 | controller | skipping: [localhost] 2025-10-01 13:46:43.342466 | controller | 2025-10-01 13:46:43.342520 | controller | TASK [repo_setup : Update the value of full_hash _repo_setup_json={{ _repo_setup_json | combine({'full_hash': _hash}, recursive=true) }}] *** 2025-10-01 13:46:43.342530 | controller | Wednesday 01 October 2025 13:46:43 +0000 (0:00:00.024) 0:00:19.710 ***** 2025-10-01 13:46:43.342548 | controller | skipping: [localhost] 2025-10-01 13:46:43.378898 | controller | 2025-10-01 13:46:43.378957 | 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-10-01 13:46:43.378968 | controller | Wednesday 01 October 2025 13:46:43 +0000 (0:00:00.027) 0:00:19.738 ***** 2025-10-01 13:46:43.378985 | controller | ok: [localhost] 2025-10-01 13:46:43.399921 | controller | 2025-10-01 13:46:43.399961 | controller | TASK [repo_setup : Create download directory path={{ cifmw_repo_setup_rhos_release_path }}, state=directory, mode=0755] *** 2025-10-01 13:46:43.399969 | controller | Wednesday 01 October 2025 13:46:43 +0000 (0:00:00.036) 0:00:19.774 ***** 2025-10-01 13:46:43.399981 | controller | skipping: [localhost] 2025-10-01 13:46:43.417862 | controller | 2025-10-01 13:46:43.417899 | controller | TASK [repo_setup : Print the URL to request msg={{ cifmw_repo_setup_rhos_release_rpm }}] *** 2025-10-01 13:46:43.417907 | controller | Wednesday 01 October 2025 13:46:43 +0000 (0:00:00.021) 0:00:19.795 ***** 2025-10-01 13:46:43.417919 | controller | skipping: [localhost] 2025-10-01 13:46:43.435954 | controller | 2025-10-01 13:46:43.435998 | controller | TASK [Download the RPM name=krb_request] *************************************** 2025-10-01 13:46:43.436007 | controller | Wednesday 01 October 2025 13:46:43 +0000 (0:00:00.017) 0:00:19.813 ***** 2025-10-01 13:46:43.436018 | controller | skipping: [localhost] 2025-10-01 13:46:43.453895 | controller | 2025-10-01 13:46:43.453930 | controller | TASK [repo_setup : Install RHOS Release tool name={{ 2025-10-01 13:46:43.453939 | controller | cifmw_repo_setup_rhos_release_rpm 2025-10-01 13:46:43.453945 | controller | if cifmw_repo_setup_rhos_release_rpm is not url 2025-10-01 13:46:43.453951 | controller | else cifmw_krb_request_out.path 2025-10-01 13:46:43.453957 | controller | }}, state=present, disable_gpg_check={{ cifmw_repo_setup_rhos_release_gpg_check | bool }}] *** 2025-10-01 13:46:43.453964 | controller | Wednesday 01 October 2025 13:46:43 +0000 (0:00:00.017) 0:00:19.831 ***** 2025-10-01 13:46:43.453975 | controller | skipping: [localhost] 2025-10-01 13:46:43.471559 | controller | 2025-10-01 13:46:43.471596 | controller | TASK [repo_setup : Get rhos-release tool version _raw_params=rhos-release --version] *** 2025-10-01 13:46:43.471604 | controller | Wednesday 01 October 2025 13:46:43 +0000 (0:00:00.018) 0:00:19.849 ***** 2025-10-01 13:46:43.471616 | controller | skipping: [localhost] 2025-10-01 13:46:43.491015 | controller | 2025-10-01 13:46:43.491053 | controller | TASK [repo_setup : Print rhos-release tool version msg={{ rr_version.stdout }}] *** 2025-10-01 13:46:43.491061 | controller | Wednesday 01 October 2025 13:46:43 +0000 (0:00:00.017) 0:00:19.867 ***** 2025-10-01 13:46:43.491072 | controller | skipping: [localhost] 2025-10-01 13:46:43.510415 | controller | 2025-10-01 13:46:43.510459 | 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-10-01 13:46:43.510469 | controller | -t {{ cifmw_repo_setup_output }}] *** 2025-10-01 13:46:43.510478 | controller | Wednesday 01 October 2025 13:46:43 +0000 (0:00:00.019) 0:00:19.886 ***** 2025-10-01 13:46:43.510492 | controller | skipping: [localhost] 2025-10-01 13:46:43.692122 | controller | 2025-10-01 13:46:43.692161 | controller | TASK [repo_setup : Check for /etc/ci/mirror_info.sh path=/etc/ci/mirror_info.sh] *** 2025-10-01 13:46:43.692173 | controller | Wednesday 01 October 2025 13:46:43 +0000 (0:00:00.019) 0:00:19.906 ***** 2025-10-01 13:46:43.692184 | controller | ok: [localhost] 2025-10-01 13:46:43.908472 | controller | 2025-10-01 13:46:43.908512 | controller | TASK [repo_setup : Use RDO proxy mirrors chdir={{ cifmw_repo_setup_output }}, _raw_params=set -o pipefail 2025-10-01 13:46:43.908523 | controller | source /etc/ci/mirror_info.sh 2025-10-01 13:46:43.908532 | controller | sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" *.repo 2025-10-01 13:46:43.908540 | controller | ] *** 2025-10-01 13:46:43.908548 | controller | Wednesday 01 October 2025 13:46:43 +0000 (0:00:00.181) 0:00:20.087 ***** 2025-10-01 13:46:43.908562 | controller | changed: [localhost] 2025-10-01 13:46:44.136870 | controller | 2025-10-01 13:46:44.136911 | 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-10-01 13:46:44.136921 | controller | source /etc/ci/mirror_info.sh 2025-10-01 13:46:44.136930 | controller | sed -i -e "s|http://mirror.stream.centos.org|$NODEPOOL_CENTOS_MIRROR|g" *.repo 2025-10-01 13:46:44.136938 | controller | ] *** 2025-10-01 13:46:44.136946 | controller | Wednesday 01 October 2025 13:46:43 +0000 (0:00:00.216) 0:00:20.303 ***** 2025-10-01 13:46:44.136958 | controller | changed: [localhost] 2025-10-01 13:46:44.742778 | controller | 2025-10-01 13:46:44.742831 | controller | TASK [repo_setup : Check for gating.repo file on content provider url=http://{{ content_provider_registry_ip }}:8766/gating.repo] *** 2025-10-01 13:46:44.742846 | controller | Wednesday 01 October 2025 13:46:44 +0000 (0:00:00.228) 0:00:20.532 ***** 2025-10-01 13:46:44.742867 | controller | task path: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/repo_setup/tasks/populate_gating_repo.yml:2 2025-10-01 13:46:44.781558 | controller | fatal: [localhost]: FAILED! => 2025-10-01 13:46:44.781608 | controller | changed: false 2025-10-01 13:46:44.781620 | controller | elapsed: 0 2025-10-01 13:46:44.781631 | controller | msg: 'Status code was -1 and not [200]: Request failed: ' 2025-10-01 13:46:44.781661 | controller | redirected: false 2025-10-01 13:46:44.781671 | controller | status: -1 2025-10-01 13:46:44.781681 | controller | url: http://38.102.83.129:8766/gating.repo 2025-10-01 13:46:44.781692 | controller | ...ignoring 2025-10-01 13:46:44.781702 | controller | 2025-10-01 13:46:44.781713 | controller | TASK [repo_setup : Populate gating repo from content provider ip content=[gating-repo] 2025-10-01 13:46:44.781724 | controller | baseurl=http://{{ content_provider_registry_ip }}:8766/ 2025-10-01 13:46:44.781734 | controller | enabled=1 2025-10-01 13:46:44.781744 | controller | gpgcheck=0 2025-10-01 13:46:44.781754 | controller | priority=1 2025-10-01 13:46:44.781764 | controller | , dest={{ cifmw_repo_setup_output }}/gating.repo, mode=0644] *** 2025-10-01 13:46:44.781775 | controller | Wednesday 01 October 2025 13:46:44 +0000 (0:00:00.605) 0:00:21.138 ***** 2025-10-01 13:46:44.781793 | controller | skipping: [localhost] 2025-10-01 13:46:44.819344 | controller | 2025-10-01 13:46:44.819391 | controller | TASK [repo_setup : Check for DLRN repo at the destination path={{ cifmw_repo_setup_output }}/delorean.repo] *** 2025-10-01 13:46:44.819437 | controller | Wednesday 01 October 2025 13:46:44 +0000 (0:00:00.038) 0:00:21.176 ***** 2025-10-01 13:46:44.819454 | controller | skipping: [localhost] 2025-10-01 13:46:44.857084 | controller | 2025-10-01 13:46:44.857130 | 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-10-01 13:46:44.857141 | controller | Wednesday 01 October 2025 13:46:44 +0000 (0:00:00.037) 0:00:21.214 ***** 2025-10-01 13:46:44.857158 | controller | skipping: [localhost] 2025-10-01 13:46:44.895586 | controller | 2025-10-01 13:46:44.895626 | controller | TASK [repo_setup : Check for DLRN component repo path={{ cifmw_repo_setup_output }}/{{ _comp_repo }}] *** 2025-10-01 13:46:44.895636 | controller | Wednesday 01 October 2025 13:46:44 +0000 (0:00:00.037) 0:00:21.252 ***** 2025-10-01 13:46:44.895649 | controller | skipping: [localhost] 2025-10-01 13:46:44.934302 | controller | 2025-10-01 13:46:44.934346 | 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-10-01 13:46:44.934357 | controller | Wednesday 01 October 2025 13:46:44 +0000 (0:00:00.038) 0:00:21.290 ***** 2025-10-01 13:46:44.934371 | controller | skipping: [localhost] 2025-10-01 13:46:45.254199 | controller | 2025-10-01 13:46:45.254238 | controller | TASK [repo_setup : Find existing repos from /etc/yum.repos.d directory paths=/etc/yum.repos.d/, patterns=*.repo, recurse=False] *** 2025-10-01 13:46:45.254247 | controller | Wednesday 01 October 2025 13:46:44 +0000 (0:00:00.039) 0:00:21.329 ***** 2025-10-01 13:46:45.254259 | controller | ok: [localhost] 2025-10-01 13:46:45.757776 | controller | 2025-10-01 13:46:45.757851 | controller | TASK [repo_setup : Remove existing repos from /etc/yum.repos.d directory path={{ item }}, state=absent] *** 2025-10-01 13:46:45.757860 | controller | Wednesday 01 October 2025 13:46:45 +0000 (0:00:00.320) 0:00:21.649 ***** 2025-10-01 13:46:45.757881 | controller | changed: [localhost] => (item=/etc/yum.repos.d/centos-addons.repo) 2025-10-01 13:46:46.259897 | controller | changed: [localhost] => (item=/etc/yum.repos.d/centos.repo) 2025-10-01 13:46:46.259941 | controller | 2025-10-01 13:46:46.259949 | controller | TASK [repo_setup : Cleanup existing metadata _raw_params=dnf clean metadata] *** 2025-10-01 13:46:46.259956 | controller | Wednesday 01 October 2025 13:46:45 +0000 (0:00:00.503) 0:00:22.153 ***** 2025-10-01 13:46:46.259968 | controller | changed: [localhost] 2025-10-01 13:46:46.585870 | controller | 2025-10-01 13:46:46.585979 | 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-10-01 13:46:46.585994 | controller | Wednesday 01 October 2025 13:46:46 +0000 (0:00:00.502) 0:00:22.655 ***** 2025-10-01 13:46:46.586017 | controller | changed: [localhost] 2025-10-01 13:46:46.628110 | controller | 2025-10-01 13:46:46.628185 | controller | TASK [ci_setup : Gather variables for each operating system _raw_params={{ item }}] *** 2025-10-01 13:46:46.628194 | controller | Wednesday 01 October 2025 13:46:46 +0000 (0:00:00.325) 0:00:22.981 ***** 2025-10-01 13:46:46.628212 | controller | ok: [localhost] => (item=/home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_setup/vars/redhat.yml) 2025-10-01 13:46:46.655568 | controller | 2025-10-01 13:46:46.655648 | controller | TASK [ci_setup : List packages to install var=cifmw_ci_setup_packages] ********* 2025-10-01 13:46:46.655660 | controller | Wednesday 01 October 2025 13:46:46 +0000 (0:00:00.042) 0:00:23.023 ***** 2025-10-01 13:46:46.655682 | controller | ok: [localhost] => 2025-10-01 13:47:17.803486 | controller | cifmw_ci_setup_packages: 2025-10-01 13:47:17.803535 | controller | - bash-completion 2025-10-01 13:47:17.803545 | controller | - ca-certificates 2025-10-01 13:47:17.803553 | controller | - git-core 2025-10-01 13:47:17.803561 | controller | - make 2025-10-01 13:47:17.803568 | controller | - tar 2025-10-01 13:47:17.803577 | controller | - tmux 2025-10-01 13:47:17.803584 | controller | - python3-pip 2025-10-01 13:47:17.803592 | controller | 2025-10-01 13:47:17.803601 | controller | TASK [ci_setup : Install needed packages name={{ cifmw_ci_setup_packages }}, state=latest] *** 2025-10-01 13:47:17.803609 | controller | Wednesday 01 October 2025 13:46:46 +0000 (0:00:00.027) 0:00:23.050 ***** 2025-10-01 13:47:17.803624 | controller | changed: [localhost] 2025-10-01 13:47:17.994518 | controller | 2025-10-01 13:47:17.994555 | controller | TASK [ci_setup : Gather version of openshift client _raw_params=oc version --client -o yaml] *** 2025-10-01 13:47:17.994563 | controller | Wednesday 01 October 2025 13:47:17 +0000 (0:00:31.147) 0:00:54.198 ***** 2025-10-01 13:47:17.994575 | controller | ok: [localhost] 2025-10-01 13:47:18.194259 | controller | 2025-10-01 13:47:18.194294 | controller | TASK [ci_setup : Ensure openshift client install path is present path={{ cifmw_ci_setup_oc_install_path }}, state=directory, mode=0755] *** 2025-10-01 13:47:18.194303 | controller | Wednesday 01 October 2025 13:47:17 +0000 (0:00:00.191) 0:00:54.390 ***** 2025-10-01 13:47:18.194315 | controller | changed: [localhost] 2025-10-01 13:47:23.441117 | controller | 2025-10-01 13:47:23.441160 | 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-10-01 13:47:23.441173 | controller | Wednesday 01 October 2025 13:47:18 +0000 (0:00:00.199) 0:00:54.589 ***** 2025-10-01 13:47:23.441185 | controller | changed: [localhost] 2025-10-01 13:47:23.471372 | controller | 2025-10-01 13:47:23.471425 | 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-10-01 13:47:23.471436 | controller | Wednesday 01 October 2025 13:47:23 +0000 (0:00:05.246) 0:00:59.836 ***** 2025-10-01 13:47:23.471447 | controller | skipping: [localhost] 2025-10-01 13:47:23.793527 | controller | 2025-10-01 13:47:23.793598 | controller | TASK [ci_setup : Create completion file] *************************************** 2025-10-01 13:47:23.793610 | controller | Wednesday 01 October 2025 13:47:23 +0000 (0:00:00.030) 0:00:59.866 ***** 2025-10-01 13:47:23.793640 | controller | changed: [localhost] 2025-10-01 13:47:24.120470 | controller | 2025-10-01 13:47:24.120514 | 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-10-01 13:47:24.120525 | controller | source ~/.oc_completion 2025-10-01 13:47:24.120534 | controller | fi] *** 2025-10-01 13:47:24.120542 | controller | Wednesday 01 October 2025 13:47:23 +0000 (0:00:00.321) 0:01:00.188 ***** 2025-10-01 13:47:24.120558 | controller | changed: [localhost] 2025-10-01 13:47:24.140677 | controller | 2025-10-01 13:47:24.140719 | controller | TASK [ci_setup : Check rhsm status _raw_params=subscription-manager status] **** 2025-10-01 13:47:24.140729 | controller | Wednesday 01 October 2025 13:47:24 +0000 (0:00:00.327) 0:01:00.515 ***** 2025-10-01 13:47:24.140744 | controller | skipping: [localhost] 2025-10-01 13:47:24.161446 | controller | 2025-10-01 13:47:24.161498 | controller | TASK [ci_setup : Gather the repos to be enabled _repos={{ 2025-10-01 13:47:24.161508 | controller | cifmw_ci_setup_rhel_rhsm_default_repos + 2025-10-01 13:47:24.161517 | controller | (cifmw_ci_setup_rhel_rhsm_extra_repos | default([])) 2025-10-01 13:47:24.161524 | controller | }}] *** 2025-10-01 13:47:24.161533 | controller | Wednesday 01 October 2025 13:47:24 +0000 (0:00:00.020) 0:01:00.536 ***** 2025-10-01 13:47:24.161564 | controller | skipping: [localhost] 2025-10-01 13:47:24.184824 | controller | 2025-10-01 13:47:24.184867 | controller | TASK [ci_setup : Enabling the required repositories. name={{ item }}, state={{ rhsm_repo_state | default('enabled') }}] *** 2025-10-01 13:47:24.184877 | controller | Wednesday 01 October 2025 13:47:24 +0000 (0:00:00.020) 0:01:00.556 ***** 2025-10-01 13:47:24.184892 | controller | skipping: [localhost] 2025-10-01 13:47:24.207588 | controller | 2025-10-01 13:47:24.207629 | controller | TASK [ci_setup : Get current /etc/redhat-release _raw_params=cat /etc/redhat-release] *** 2025-10-01 13:47:24.207637 | controller | Wednesday 01 October 2025 13:47:24 +0000 (0:00:00.023) 0:01:00.580 ***** 2025-10-01 13:47:24.207650 | controller | skipping: [localhost] 2025-10-01 13:47:24.228748 | controller | 2025-10-01 13:47:24.228789 | controller | TASK [ci_setup : Print current /etc/redhat-release msg={{ _current_rh_release.stdout }}] *** 2025-10-01 13:47:24.228797 | controller | Wednesday 01 October 2025 13:47:24 +0000 (0:00:00.022) 0:01:00.602 ***** 2025-10-01 13:47:24.228809 | controller | skipping: [localhost] 2025-10-01 13:47:24.255452 | controller | 2025-10-01 13:47:24.255499 | 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-10-01 13:47:24.255510 | controller | Wednesday 01 October 2025 13:47:24 +0000 (0:00:00.021) 0:01:00.624 ***** 2025-10-01 13:47:24.255526 | controller | skipping: [localhost] 2025-10-01 13:47:25.366801 | controller | 2025-10-01 13:47:25.366835 | controller | TASK [ci_setup : Manage directories path={{ item }}, state={{ directory_state }}, mode=0755, owner={{ ansible_user_id }}, group={{ ansible_user_id }}] *** 2025-10-01 13:47:25.366843 | controller | Wednesday 01 October 2025 13:47:24 +0000 (0:00:00.026) 0:01:00.651 ***** 2025-10-01 13:47:25.366855 | controller | changed: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/manifests/openstack/cr) 2025-10-01 13:47:25.494452 | controller | changed: [localhost] => (item=/home/zuul/ci-framework-data/logs) 2025-10-01 13:47:25.494490 | controller | ok: [localhost] => (item=/home/zuul/ci-framework-data/tmp) 2025-10-01 13:47:25.494497 | controller | changed: [localhost] => (item=/home/zuul/ci-framework-data/volumes) 2025-10-01 13:47:25.494504 | controller | ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/parameters) 2025-10-01 13:47:25.494510 | controller | 2025-10-01 13:47:25.494517 | controller | TASK [Prepare install_yamls make targets name=install_yamls, apply={'tags': ['bootstrap']}] *** 2025-10-01 13:47:25.494525 | controller | Wednesday 01 October 2025 13:47:25 +0000 (0:00:01.111) 0:01:01.762 ***** 2025-10-01 13:47:25.494539 | controller | 2025-10-01 13:47:26.091945 | controller | TASK [install_yamls : Ensure directories exist path={{ item }}, state=directory, mode=0755] *** 2025-10-01 13:47:26.091988 | controller | Wednesday 01 October 2025 13:47:25 +0000 (0:00:00.127) 0:01:01.890 ***** 2025-10-01 13:47:26.092004 | controller | ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts) 2025-10-01 13:47:26.167291 | controller | changed: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/roles/install_yamls_makes/tasks) 2025-10-01 13:47:26.167328 | controller | ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/parameters) 2025-10-01 13:47:26.167336 | controller | 2025-10-01 13:47:26.167343 | controller | TASK [Create variables with local repos based on Zuul items name=install_yamls, tasks_from=zuul_set_operators_repo.yml] *** 2025-10-01 13:47:26.167350 | controller | Wednesday 01 October 2025 13:47:26 +0000 (0:00:00.597) 0:01:02.487 ***** 2025-10-01 13:47:26.167361 | controller | 2025-10-01 13:47:26.232121 | 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-10-01 13:47:26.232158 | controller | Wednesday 01 October 2025 13:47:26 +0000 (0:00:00.075) 0:01:02.562 ***** 2025-10-01 13:47:26.232173 | controller | ok: [localhost] => (item={'branch': 'main', 'change': '567', 'change_url': 'https://github.com/openstack-k8s-operators/keystone-operator/pull/567', 'commit_id': '0bf30aa672c65d76ab942979d5cc7e063a129ffc', 'patchset': '0bf30aa672c65d76ab942979d5cc7e063a129ffc', '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-10-01 13:47:26.298081 | controller | 2025-10-01 13:47:26.298121 | controller | TASK [install_yamls : Print helpful data for debugging msg=_repo_operator_name: {{ _repo_operator_name }} 2025-10-01 13:47:26.298131 | controller | _repo_operator_info: {{ _repo_operator_info }} 2025-10-01 13:47:26.298138 | controller | cifmw_install_yamls_operators_repo: {{ cifmw_install_yamls_operators_repo }} 2025-10-01 13:47:26.298144 | controller | ] *** 2025-10-01 13:47:26.298150 | controller | Wednesday 01 October 2025 13:47:26 +0000 (0:00:00.064) 0:01:02.627 ***** 2025-10-01 13:47:26.298162 | controller | ok: [localhost] => (item={'branch': 'main', 'change': '567', 'change_url': 'https://github.com/openstack-k8s-operators/keystone-operator/pull/567', 'commit_id': '0bf30aa672c65d76ab942979d5cc7e063a129ffc', 'patchset': '0bf30aa672c65d76ab942979d5cc7e063a129ffc', '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-10-01 13:47:26.368192 | controller | msg: | 2025-10-01 13:47:26.368235 | controller | _repo_operator_name: keystone 2025-10-01 13:47:26.368245 | controller | _repo_operator_info: [{'key': 'KEYSTONE_REPO', 'value': '/home/zuul/src/github.com/openstack-k8s-operators/keystone-operator'}, {'key': 'KEYSTONE_BRANCH', 'value': ''}] 2025-10-01 13:47:26.368253 | controller | cifmw_install_yamls_operators_repo: {'KEYSTONE_REPO': '/home/zuul/src/github.com/openstack-k8s-operators/keystone-operator', 'KEYSTONE_BRANCH': ''} 2025-10-01 13:47:26.368259 | controller | 2025-10-01 13:47:26.368266 | controller | TASK [install_yamls : Compute the cifmw_install_yamls_vars final value _install_yamls_override_vars={{ 2025-10-01 13:47:26.368272 | controller | _install_yamls_override_vars | default({}) | 2025-10-01 13:47:26.368279 | controller | combine(item, recursive=True) 2025-10-01 13:47:26.368285 | controller | }}] *** 2025-10-01 13:47:26.368291 | controller | Wednesday 01 October 2025 13:47:26 +0000 (0:00:00.066) 0:01:02.693 ***** 2025-10-01 13:47:26.368303 | controller | ok: [localhost] => (item={'BMO_SETUP': False}) 2025-10-01 13:47:26.418561 | controller | 2025-10-01 13:47:26.418602 | controller | TASK [install_yamls : Set environment override cifmw_install_yamls_environment fact cifmw_install_yamls_environment={{ 2025-10-01 13:47:26.418610 | controller | _install_yamls_override_vars.keys() | 2025-10-01 13:47:26.418616 | controller | map('upper') | 2025-10-01 13:47:26.418622 | controller | zip(_install_yamls_override_vars.values()) | 2025-10-01 13:47:26.418629 | controller | items2dict(key_name=0, value_name=1) | 2025-10-01 13:47:26.418644 | controller | combine({ 2025-10-01 13:47:26.418651 | controller | 'OUT': cifmw_install_yamls_manifests_dir, 2025-10-01 13:47:26.418658 | controller | 'OUTPUT_DIR': cifmw_install_yamls_edpm_dir, 2025-10-01 13:47:26.418664 | controller | 'CHECKOUT_FROM_OPENSTACK_REF': cifmw_install_yamls_checkout_openstack_ref, 2025-10-01 13:47:26.418670 | controller | 'OPENSTACK_K8S_BRANCH': (zuul is defined and not zuul.branch |regex_search('master|rhos')) | ternary(zuul.branch, 'main') 2025-10-01 13:47:26.418685 | controller | }) | 2025-10-01 13:47:26.418691 | controller | combine(install_yamls_operators_repos) 2025-10-01 13:47:26.418697 | controller | }}, cacheable=True] *** 2025-10-01 13:47:26.418705 | controller | Wednesday 01 October 2025 13:47:26 +0000 (0:00:00.069) 0:01:02.763 ***** 2025-10-01 13:47:26.418719 | controller | ok: [localhost] 2025-10-01 13:47:26.988160 | controller | 2025-10-01 13:47:26.988331 | controller | TASK [install_yamls : Get environment structure base_path={{ cifmw_install_yamls_repo }}] *** 2025-10-01 13:47:26.988340 | controller | Wednesday 01 October 2025 13:47:26 +0000 (0:00:00.050) 0:01:02.813 ***** 2025-10-01 13:47:26.988364 | controller | ok: [localhost] 2025-10-01 13:47:27.225147 | controller | 2025-10-01 13:47:27.225225 | controller | TASK [install_yamls : Ensure Output directory exists path={{ cifmw_install_yamls_out_dir }}, state=directory, mode=0755] *** 2025-10-01 13:47:27.225243 | controller | Wednesday 01 October 2025 13:47:26 +0000 (0:00:00.569) 0:01:03.383 ***** 2025-10-01 13:47:27.225261 | controller | ok: [localhost] 2025-10-01 13:47:27.283844 | controller | 2025-10-01 13:47:27.283896 | 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-10-01 13:47:27.283905 | controller | Wednesday 01 October 2025 13:47:27 +0000 (0:00:00.237) 0:01:03.620 ***** 2025-10-01 13:47:27.283919 | controller | ok: [localhost] 2025-10-01 13:47:27.717190 | controller | 2025-10-01 13:47:27.717227 | 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-10-01 13:47:27.717235 | controller | export {{ k }}={{ v }} 2025-10-01 13:47:27.717242 | controller | {% endfor %}, mode=0644] *** 2025-10-01 13:47:27.717248 | controller | Wednesday 01 October 2025 13:47:27 +0000 (0:00:00.058) 0:01:03.679 ***** 2025-10-01 13:47:27.717260 | controller | changed: [localhost] 2025-10-01 13:47:27.752385 | controller | 2025-10-01 13:47:27.752455 | 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-10-01 13:47:27.752466 | controller | Wednesday 01 October 2025 13:47:27 +0000 (0:00:00.433) 0:01:04.112 ***** 2025-10-01 13:47:27.752482 | controller | ok: [localhost] 2025-10-01 13:47:27.778287 | controller | 2025-10-01 13:47:27.778323 | controller | TASK [install_yamls : Show the env structure var=cifmw_install_yamls_environment] *** 2025-10-01 13:47:27.778331 | controller | Wednesday 01 October 2025 13:47:27 +0000 (0:00:00.034) 0:01:04.147 ***** 2025-10-01 13:47:27.778342 | controller | ok: [localhost] => 2025-10-01 13:47:27.806991 | controller | cifmw_install_yamls_environment: 2025-10-01 13:47:27.807045 | controller | BMO_SETUP: false 2025-10-01 13:47:27.807053 | controller | CHECKOUT_FROM_OPENSTACK_REF: 'true' 2025-10-01 13:47:27.807059 | controller | KEYSTONE_BRANCH: '' 2025-10-01 13:47:27.807065 | controller | KEYSTONE_REPO: /home/zuul/src/github.com/openstack-k8s-operators/keystone-operator 2025-10-01 13:47:27.807072 | controller | OPENSTACK_K8S_BRANCH: main 2025-10-01 13:47:27.807078 | controller | OUT: /home/zuul/ci-framework-data/artifacts/manifests 2025-10-01 13:47:27.807085 | controller | OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm 2025-10-01 13:47:27.807091 | controller | 2025-10-01 13:47:27.807100 | controller | TASK [install_yamls : Show the env structure defaults var=cifmw_install_yamls_defaults] *** 2025-10-01 13:47:27.807106 | controller | Wednesday 01 October 2025 13:47:27 +0000 (0:00:00.026) 0:01:04.174 ***** 2025-10-01 13:47:27.807119 | controller | ok: [localhost] => 2025-10-01 13:47:27.807126 | controller | cifmw_install_yamls_defaults: 2025-10-01 13:47:27.807133 | controller | ADOPTED_EXTERNAL_NETWORK: 172.21.1.0/24 2025-10-01 13:47:27.807139 | controller | ADOPTED_INTERNALAPI_NETWORK: 172.17.1.0/24 2025-10-01 13:47:27.807144 | controller | ADOPTED_STORAGEMGMT_NETWORK: 172.20.1.0/24 2025-10-01 13:47:27.807150 | controller | ADOPTED_STORAGE_NETWORK: 172.18.1.0/24 2025-10-01 13:47:27.807156 | controller | ADOPTED_TENANT_NETWORK: 172.9.1.0/24 2025-10-01 13:47:27.807162 | controller | ANSIBLEEE: config/samples/_v1beta1_ansibleee.yaml 2025-10-01 13:47:27.807168 | controller | ANSIBLEEE_BRANCH: main 2025-10-01 13:47:27.807176 | controller | ANSIBLEEE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/config/samples/_v1beta1_ansibleee.yaml 2025-10-01 13:47:27.807183 | controller | ANSIBLEEE_IMG: quay.io/openstack-k8s-operators/openstack-ansibleee-operator-index:latest 2025-10-01 13:47:27.807189 | controller | ANSIBLEEE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/kuttl-test.yaml 2025-10-01 13:47:27.807204 | controller | ANSIBLEEE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/tests/kuttl/tests 2025-10-01 13:47:27.807210 | controller | ANSIBLEEE_KUTTL_NAMESPACE: ansibleee-kuttl-tests 2025-10-01 13:47:27.807223 | controller | ANSIBLEEE_REPO: https://github.com/openstack-k8s-operators/openstack-ansibleee-operator 2025-10-01 13:47:27.807230 | controller | ANSIBLEE_COMMIT_HASH: '' 2025-10-01 13:47:27.807236 | controller | BARBICAN: config/samples/barbican_v1beta1_barbican.yaml 2025-10-01 13:47:27.807242 | controller | BARBICAN_BRANCH: main 2025-10-01 13:47:27.807248 | controller | BARBICAN_COMMIT_HASH: '' 2025-10-01 13:47:27.807257 | controller | BARBICAN_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/config/samples/barbican_v1beta1_barbican.yaml 2025-10-01 13:47:27.807263 | controller | BARBICAN_DEPL_IMG: unused 2025-10-01 13:47:27.807269 | controller | BARBICAN_IMG: quay.io/openstack-k8s-operators/barbican-operator-index:latest 2025-10-01 13:47:27.807275 | controller | BARBICAN_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/kuttl-test.yaml 2025-10-01 13:47:27.807281 | controller | BARBICAN_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/tests/kuttl/tests 2025-10-01 13:47:27.807287 | controller | BARBICAN_KUTTL_NAMESPACE: barbican-kuttl-tests 2025-10-01 13:47:27.807293 | controller | BARBICAN_REPO: https://github.com/openstack-k8s-operators/barbican-operator.git 2025-10-01 13:47:27.807299 | controller | BARBICAN_SERVICE_ENABLED: 'true' 2025-10-01 13:47:27.807305 | controller | BARBICAN_SIMPLE_CRYPTO_ENCRYPTION_KEY: sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= 2025-10-01 13:47:27.807311 | controller | BAREMETAL_BRANCH: main 2025-10-01 13:47:27.807317 | controller | BAREMETAL_COMMIT_HASH: '' 2025-10-01 13:47:27.807323 | controller | BAREMETAL_IMG: quay.io/openstack-k8s-operators/openstack-baremetal-operator-index:latest 2025-10-01 13:47:27.807329 | controller | BAREMETAL_OS_CONTAINER_IMG: '' 2025-10-01 13:47:27.807335 | controller | BAREMETAL_OS_IMG: '' 2025-10-01 13:47:27.807341 | controller | BAREMETAL_REPO: https://github.com/openstack-k8s-operators/openstack-baremetal-operator.git 2025-10-01 13:47:27.807348 | controller | BAREMETAL_TIMEOUT: 20m 2025-10-01 13:47:27.807354 | controller | BASH_IMG: quay.io/openstack-k8s-operators/bash:latest 2025-10-01 13:47:27.807360 | controller | BGP_ASN: '64999' 2025-10-01 13:47:27.807366 | controller | BGP_LEAF_1: 100.65.4.1 2025-10-01 13:47:27.807371 | controller | BGP_LEAF_2: 100.64.4.1 2025-10-01 13:47:27.807377 | controller | BGP_OVN_ROUTING: 'false' 2025-10-01 13:47:27.807383 | controller | BGP_PEER_ASN: '64999' 2025-10-01 13:47:27.807389 | controller | BGP_SOURCE_IP: 172.30.4.2 2025-10-01 13:47:27.807395 | controller | BGP_SOURCE_IP6: f00d:f00d:f00d:f00d:f00d:f00d:f00d:42 2025-10-01 13:47:27.807424 | controller | BMAAS_BRIDGE_IPV4_PREFIX: 172.20.1.2/24 2025-10-01 13:47:27.807430 | controller | BMAAS_BRIDGE_IPV6_PREFIX: fd00:bbbb::2/64 2025-10-01 13:47:27.807436 | controller | BMAAS_INSTANCE_DISK_SIZE: '20' 2025-10-01 13:47:27.807442 | controller | BMAAS_INSTANCE_MEMORY: '4096' 2025-10-01 13:47:27.807448 | controller | BMAAS_INSTANCE_NAME_PREFIX: crc-bmaas 2025-10-01 13:47:27.807454 | controller | BMAAS_INSTANCE_NET_MODEL: virtio 2025-10-01 13:47:27.807459 | controller | BMAAS_INSTANCE_OS_VARIANT: centos-stream9 2025-10-01 13:47:27.807465 | controller | BMAAS_INSTANCE_VCPUS: '2' 2025-10-01 13:47:27.807471 | controller | BMAAS_INSTANCE_VIRT_TYPE: kvm 2025-10-01 13:47:27.807477 | controller | BMAAS_IPV4: 'true' 2025-10-01 13:47:27.807483 | controller | BMAAS_IPV6: 'false' 2025-10-01 13:47:27.807489 | controller | BMAAS_LIBVIRT_USER: sushyemu 2025-10-01 13:47:27.807495 | controller | BMAAS_METALLB_ADDRESS_POOL: 172.20.1.64/26 2025-10-01 13:47:27.807500 | controller | BMAAS_METALLB_POOL_NAME: baremetal 2025-10-01 13:47:27.807506 | controller | BMAAS_NETWORK_IPV4_PREFIX: 172.20.1.1/24 2025-10-01 13:47:27.807512 | controller | BMAAS_NETWORK_IPV6_PREFIX: fd00:bbbb::1/64 2025-10-01 13:47:27.807518 | controller | BMAAS_NETWORK_NAME: crc-bmaas 2025-10-01 13:47:27.807524 | controller | BMAAS_NODE_COUNT: '1' 2025-10-01 13:47:27.807530 | controller | BMAAS_OCP_INSTANCE_NAME: crc 2025-10-01 13:47:27.807535 | controller | BMAAS_REDFISH_PASSWORD: password 2025-10-01 13:47:27.807546 | controller | BMAAS_REDFISH_USERNAME: admin 2025-10-01 13:47:27.807552 | controller | BMAAS_ROUTE_LIBVIRT_NETWORKS: crc-bmaas,crc,default 2025-10-01 13:47:27.807558 | controller | BMAAS_SUSHY_EMULATOR_DRIVER: libvirt 2025-10-01 13:47:27.807564 | controller | BMAAS_SUSHY_EMULATOR_IMAGE: quay.io/metal3-io/sushy-tools:latest 2025-10-01 13:47:27.807570 | controller | BMAAS_SUSHY_EMULATOR_NAMESPACE: sushy-emulator 2025-10-01 13:47:27.807576 | controller | BMAAS_SUSHY_EMULATOR_OS_CLIENT_CONFIG_FILE: /etc/openstack/clouds.yaml 2025-10-01 13:47:27.807582 | controller | BMAAS_SUSHY_EMULATOR_OS_CLOUD: openstack 2025-10-01 13:47:27.807588 | controller | BMH_NAMESPACE: openstack 2025-10-01 13:47:27.807594 | controller | BMO_BRANCH: release-0.9 2025-10-01 13:47:27.807600 | controller | BMO_COMMIT_HASH: '' 2025-10-01 13:47:27.807605 | controller | BMO_IPA_BRANCH: stable/2024.1 2025-10-01 13:47:27.807611 | controller | BMO_IRONIC_HOST: 192.168.122.10 2025-10-01 13:47:27.807617 | controller | BMO_PROVISIONING_INTERFACE: '' 2025-10-01 13:47:27.807623 | controller | BMO_REPO: https://github.com/metal3-io/baremetal-operator 2025-10-01 13:47:27.807629 | controller | BMO_SETUP: false 2025-10-01 13:47:27.807635 | controller | BMO_SETUP_ROUTE_REPLACE: 'true' 2025-10-01 13:47:27.807645 | controller | BM_CTLPLANE_INTERFACE: enp1s0 2025-10-01 13:47:27.807651 | controller | BM_INSTANCE_MEMORY: '8192' 2025-10-01 13:47:27.807657 | controller | BM_INSTANCE_NAME_PREFIX: edpm-compute-baremetal 2025-10-01 13:47:27.807662 | controller | BM_INSTANCE_NAME_SUFFIX: '0' 2025-10-01 13:47:27.807668 | controller | BM_NETWORK_NAME: default 2025-10-01 13:47:27.807674 | controller | BM_NODE_COUNT: '1' 2025-10-01 13:47:27.807680 | controller | BM_ROOT_PASSWORD: '' 2025-10-01 13:47:27.807686 | controller | BM_ROOT_PASSWORD_SECRET: '' 2025-10-01 13:47:27.807692 | controller | CEILOMETER_CENTRAL_DEPL_IMG: unused 2025-10-01 13:47:27.807697 | controller | CEILOMETER_NOTIFICATION_DEPL_IMG: unused 2025-10-01 13:47:27.807703 | controller | CEPH_BRANCH: release-1.15 2025-10-01 13:47:27.807709 | controller | CEPH_CLIENT: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/toolbox.yaml 2025-10-01 13:47:27.807715 | controller | CEPH_COMMON: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/common.yaml 2025-10-01 13:47:27.807721 | controller | CEPH_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/cluster-test.yaml 2025-10-01 13:47:27.807727 | controller | CEPH_CRDS: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/crds.yaml 2025-10-01 13:47:27.807733 | controller | CEPH_IMG: quay.io/ceph/demo:latest-squid 2025-10-01 13:47:27.807739 | controller | CEPH_OP: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/operator-openshift.yaml 2025-10-01 13:47:27.807745 | controller | CEPH_REPO: https://github.com/rook/rook.git 2025-10-01 13:47:27.807750 | controller | CERTMANAGER_TIMEOUT: 300s 2025-10-01 13:47:27.807756 | controller | CHECKOUT_FROM_OPENSTACK_REF: 'true' 2025-10-01 13:47:27.807762 | controller | CINDER: config/samples/cinder_v1beta1_cinder.yaml 2025-10-01 13:47:27.807768 | controller | CINDERAPI_DEPL_IMG: unused 2025-10-01 13:47:27.807774 | controller | CINDERBKP_DEPL_IMG: unused 2025-10-01 13:47:27.807780 | controller | CINDERSCH_DEPL_IMG: unused 2025-10-01 13:47:27.807786 | controller | CINDERVOL_DEPL_IMG: unused 2025-10-01 13:47:27.807791 | controller | CINDER_BRANCH: main 2025-10-01 13:47:27.807797 | controller | CINDER_COMMIT_HASH: '' 2025-10-01 13:47:27.807803 | controller | CINDER_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/config/samples/cinder_v1beta1_cinder.yaml 2025-10-01 13:47:27.807809 | controller | CINDER_IMG: quay.io/openstack-k8s-operators/cinder-operator-index:latest 2025-10-01 13:47:27.807815 | controller | CINDER_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/kuttl-test.yaml 2025-10-01 13:47:27.807821 | controller | CINDER_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/test/kuttl/tests 2025-10-01 13:47:27.807827 | controller | CINDER_KUTTL_NAMESPACE: cinder-kuttl-tests 2025-10-01 13:47:27.807833 | controller | CINDER_REPO: https://github.com/openstack-k8s-operators/cinder-operator.git 2025-10-01 13:47:27.807839 | controller | CLEANUP_DIR_CMD: rm -Rf 2025-10-01 13:47:27.807849 | controller | CRC_BGP_NIC_1_MAC: '52:54:00:11:11:11' 2025-10-01 13:47:27.807855 | controller | CRC_BGP_NIC_2_MAC: '52:54:00:11:11:12' 2025-10-01 13:47:27.807865 | controller | CRC_HTTPS_PROXY: '' 2025-10-01 13:47:27.807871 | controller | CRC_HTTP_PROXY: '' 2025-10-01 13:47:27.807877 | controller | CRC_STORAGE_NAMESPACE: crc-storage 2025-10-01 13:47:27.807883 | controller | CRC_STORAGE_RETRIES: '3' 2025-10-01 13:47:27.807889 | controller | CRC_URL: '''https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/crc/latest/crc-linux-amd64.tar.xz''' 2025-10-01 13:47:27.807895 | controller | CRC_VERSION: latest 2025-10-01 13:47:27.807901 | controller | DATAPLANE_ANSIBLE_SECRET: dataplane-ansible-ssh-private-key-secret 2025-10-01 13:47:27.807907 | controller | DATAPLANE_ANSIBLE_USER: '' 2025-10-01 13:47:27.807913 | controller | DATAPLANE_COMPUTE_IP: 192.168.122.100 2025-10-01 13:47:27.807919 | controller | DATAPLANE_CONTAINER_PREFIX: openstack 2025-10-01 13:47:27.807925 | controller | DATAPLANE_CONTAINER_TAG: current-podified 2025-10-01 13:47:27.807931 | controller | DATAPLANE_CUSTOM_SERVICE_RUNNER_IMG: quay.io/openstack-k8s-operators/openstack-ansibleee-runner:latest 2025-10-01 13:47:27.807937 | controller | DATAPLANE_DEFAULT_GW: 192.168.122.1 2025-10-01 13:47:27.807943 | controller | DATAPLANE_EXTRA_NOVA_CONFIG_FILE: /dev/null 2025-10-01 13:47:27.807949 | controller | DATAPLANE_GROWVOLS_ARGS: /=8GB /tmp=1GB /home=1GB /var=100% 2025-10-01 13:47:27.807955 | controller | DATAPLANE_KUSTOMIZE_SCENARIO: preprovisioned 2025-10-01 13:47:27.807961 | controller | DATAPLANE_NETWORKER_IP: 192.168.122.200 2025-10-01 13:47:27.807967 | controller | DATAPLANE_NETWORK_INTERFACE_NAME: eth0 2025-10-01 13:47:27.807972 | controller | DATAPLANE_NOVA_NFS_PATH: '' 2025-10-01 13:47:27.807978 | controller | DATAPLANE_NTP_SERVER: pool.ntp.org 2025-10-01 13:47:27.807984 | controller | DATAPLANE_PLAYBOOK: osp.edpm.download_cache 2025-10-01 13:47:27.807990 | controller | DATAPLANE_REGISTRY_URL: quay.io/podified-antelope-centos9 2025-10-01 13:47:27.807996 | controller | DATAPLANE_RUNNER_IMG: '' 2025-10-01 13:47:27.808002 | controller | DATAPLANE_SERVER_ROLE: compute 2025-10-01 13:47:27.808008 | controller | DATAPLANE_SSHD_ALLOWED_RANGES: '[''192.168.122.0/24'']' 2025-10-01 13:47:27.808014 | controller | DATAPLANE_TIMEOUT: 30m 2025-10-01 13:47:27.808020 | controller | DATAPLANE_TLS_ENABLED: 'true' 2025-10-01 13:47:27.808026 | controller | DATAPLANE_TOTAL_NETWORKER_NODES: '1' 2025-10-01 13:47:27.808032 | controller | DATAPLANE_TOTAL_NODES: '1' 2025-10-01 13:47:27.808038 | controller | DBSERVICE: galera 2025-10-01 13:47:27.808043 | controller | DESIGNATE: config/samples/designate_v1beta1_designate.yaml 2025-10-01 13:47:27.808049 | controller | DESIGNATE_BRANCH: main 2025-10-01 13:47:27.808055 | controller | DESIGNATE_COMMIT_HASH: '' 2025-10-01 13:47:27.808061 | controller | DESIGNATE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/config/samples/designate_v1beta1_designate.yaml 2025-10-01 13:47:27.808069 | controller | DESIGNATE_IMG: quay.io/openstack-k8s-operators/designate-operator-index:latest 2025-10-01 13:47:27.808075 | controller | DESIGNATE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/kuttl-test.yaml 2025-10-01 13:47:27.808081 | controller | DESIGNATE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/tests/kuttl/tests 2025-10-01 13:47:27.808090 | controller | DESIGNATE_KUTTL_NAMESPACE: designate-kuttl-tests 2025-10-01 13:47:27.808096 | controller | DESIGNATE_REPO: https://github.com/openstack-k8s-operators/designate-operator.git 2025-10-01 13:47:27.808102 | controller | DNSDATA: config/samples/network_v1beta1_dnsdata.yaml 2025-10-01 13:47:27.808108 | controller | DNSDATA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_dnsdata.yaml 2025-10-01 13:47:27.808114 | controller | DNSMASQ: config/samples/network_v1beta1_dnsmasq.yaml 2025-10-01 13:47:27.808120 | controller | DNSMASQ_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_dnsmasq.yaml 2025-10-01 13:47:27.808126 | controller | DNS_DEPL_IMG: unused 2025-10-01 13:47:27.808132 | controller | DNS_DOMAIN: localdomain 2025-10-01 13:47:27.808143 | controller | DOWNLOAD_TOOLS_SELECTION: all 2025-10-01 13:47:27.808149 | controller | EDPM_ATTACH_EXTNET: 'true' 2025-10-01 13:47:27.808155 | controller | EDPM_COMPUTE_ADDITIONAL_HOST_ROUTES: '''[]''' 2025-10-01 13:47:27.808161 | controller | EDPM_COMPUTE_ADDITIONAL_NETWORKS: '''[]''' 2025-10-01 13:47:27.808167 | controller | EDPM_COMPUTE_CELLS: '1' 2025-10-01 13:47:27.808172 | controller | EDPM_COMPUTE_CEPH_ENABLED: 'true' 2025-10-01 13:47:27.808178 | controller | EDPM_COMPUTE_CEPH_NOVA: 'true' 2025-10-01 13:47:27.808185 | controller | EDPM_COMPUTE_DHCP_AGENT_ENABLED: 'true' 2025-10-01 13:47:27.808191 | controller | EDPM_COMPUTE_SRIOV_ENABLED: 'true' 2025-10-01 13:47:27.808197 | controller | EDPM_COMPUTE_SUFFIX: '0' 2025-10-01 13:47:27.808203 | controller | EDPM_CONFIGURE_DEFAULT_ROUTE: 'true' 2025-10-01 13:47:27.808208 | controller | EDPM_CONFIGURE_HUGEPAGES: 'false' 2025-10-01 13:47:27.808214 | controller | EDPM_CONFIGURE_NETWORKING: 'true' 2025-10-01 13:47:27.808220 | controller | EDPM_FIRSTBOOT_EXTRA: /tmp/edpm-firstboot-extra 2025-10-01 13:47:27.808226 | controller | EDPM_NETWORKER_SUFFIX: '0' 2025-10-01 13:47:27.808232 | controller | EDPM_TOTAL_NETWORKERS: '1' 2025-10-01 13:47:27.808238 | controller | EDPM_TOTAL_NODES: '1' 2025-10-01 13:47:27.808244 | controller | GALERA_REPLICAS: '' 2025-10-01 13:47:27.808250 | controller | GENERATE_SSH_KEYS: 'true' 2025-10-01 13:47:27.808256 | controller | GIT_CLONE_OPTS: '' 2025-10-01 13:47:27.808262 | controller | GLANCE: config/samples/glance_v1beta1_glance.yaml 2025-10-01 13:47:27.808267 | controller | GLANCEAPI_DEPL_IMG: unused 2025-10-01 13:47:27.808273 | controller | GLANCE_BRANCH: main 2025-10-01 13:47:27.808279 | controller | GLANCE_COMMIT_HASH: '' 2025-10-01 13:47:27.808287 | controller | GLANCE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/config/samples/glance_v1beta1_glance.yaml 2025-10-01 13:47:27.808293 | controller | GLANCE_IMG: quay.io/openstack-k8s-operators/glance-operator-index:latest 2025-10-01 13:47:27.808299 | controller | GLANCE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/kuttl-test.yaml 2025-10-01 13:47:27.808305 | controller | GLANCE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/test/kuttl/tests 2025-10-01 13:47:27.808311 | controller | GLANCE_KUTTL_NAMESPACE: glance-kuttl-tests 2025-10-01 13:47:27.808317 | controller | GLANCE_REPO: https://github.com/openstack-k8s-operators/glance-operator.git 2025-10-01 13:47:27.808323 | controller | HEAT: config/samples/heat_v1beta1_heat.yaml 2025-10-01 13:47:27.808329 | controller | HEATAPI_DEPL_IMG: unused 2025-10-01 13:47:27.808334 | controller | HEATCFNAPI_DEPL_IMG: unused 2025-10-01 13:47:27.808340 | controller | HEATENGINE_DEPL_IMG: unused 2025-10-01 13:47:27.808346 | controller | HEAT_AUTH_ENCRYPTION_KEY: 767c3ed056cbaa3b9dfedb8c6f825bf0 2025-10-01 13:47:27.808352 | controller | HEAT_BRANCH: main 2025-10-01 13:47:27.808358 | controller | HEAT_COMMIT_HASH: '' 2025-10-01 13:47:27.808367 | controller | HEAT_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/config/samples/heat_v1beta1_heat.yaml 2025-10-01 13:47:27.808373 | controller | HEAT_IMG: quay.io/openstack-k8s-operators/heat-operator-index:latest 2025-10-01 13:47:27.808379 | controller | HEAT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/kuttl-test.yaml 2025-10-01 13:47:27.808385 | controller | HEAT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/tests/kuttl/tests 2025-10-01 13:47:27.808391 | controller | HEAT_KUTTL_NAMESPACE: heat-kuttl-tests 2025-10-01 13:47:27.808414 | controller | HEAT_REPO: https://github.com/openstack-k8s-operators/heat-operator.git 2025-10-01 13:47:27.808424 | controller | HEAT_SERVICE_ENABLED: 'true' 2025-10-01 13:47:27.808430 | controller | HORIZON: config/samples/horizon_v1beta1_horizon.yaml 2025-10-01 13:47:27.808436 | controller | HORIZON_BRANCH: main 2025-10-01 13:47:27.808442 | controller | HORIZON_COMMIT_HASH: '' 2025-10-01 13:47:27.808448 | controller | HORIZON_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/config/samples/horizon_v1beta1_horizon.yaml 2025-10-01 13:47:27.808454 | controller | HORIZON_DEPL_IMG: unused 2025-10-01 13:47:27.808460 | controller | HORIZON_IMG: quay.io/openstack-k8s-operators/horizon-operator-index:latest 2025-10-01 13:47:27.808472 | controller | HORIZON_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/kuttl-test.yaml 2025-10-01 13:47:27.808479 | controller | HORIZON_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/tests/kuttl/tests 2025-10-01 13:47:27.808485 | controller | HORIZON_KUTTL_NAMESPACE: horizon-kuttl-tests 2025-10-01 13:47:27.808491 | controller | HORIZON_REPO: https://github.com/openstack-k8s-operators/horizon-operator.git 2025-10-01 13:47:27.808497 | controller | INFRA_BRANCH: main 2025-10-01 13:47:27.808503 | controller | INFRA_COMMIT_HASH: '' 2025-10-01 13:47:27.808510 | controller | INFRA_IMG: quay.io/openstack-k8s-operators/infra-operator-index:latest 2025-10-01 13:47:27.808516 | controller | INFRA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/kuttl-test.yaml 2025-10-01 13:47:27.808522 | controller | INFRA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/tests/kuttl/tests 2025-10-01 13:47:27.808528 | controller | INFRA_KUTTL_NAMESPACE: infra-kuttl-tests 2025-10-01 13:47:27.808534 | controller | INFRA_REPO: https://github.com/openstack-k8s-operators/infra-operator.git 2025-10-01 13:47:27.808543 | controller | INSTALL_CERT_MANAGER: 'true' 2025-10-01 13:47:27.808549 | controller | INSTALL_NMSTATE: true || false 2025-10-01 13:47:27.808555 | controller | INSTALL_NNCP: true || false 2025-10-01 13:47:27.808561 | controller | INTERNALAPI_HOST_ROUTES: '' 2025-10-01 13:47:27.808567 | controller | IPV6_LAB_IPV4_NETWORK_IPADDRESS: 172.30.0.1/24 2025-10-01 13:47:27.808574 | controller | IPV6_LAB_IPV6_NETWORK_IPADDRESS: fd00:abcd:abcd:fc00::1/64 2025-10-01 13:47:27.808580 | controller | IPV6_LAB_LIBVIRT_STORAGE_POOL: default 2025-10-01 13:47:27.808586 | controller | IPV6_LAB_MANAGE_FIREWALLD: 'true' 2025-10-01 13:47:27.808592 | controller | IPV6_LAB_NAT64_HOST_IPV4: 172.30.0.2/24 2025-10-01 13:47:27.808598 | controller | IPV6_LAB_NAT64_HOST_IPV6: fd00:abcd:abcd:fc00::2/64 2025-10-01 13:47:27.808604 | controller | IPV6_LAB_NAT64_INSTANCE_NAME: nat64-router 2025-10-01 13:47:27.808610 | controller | IPV6_LAB_NAT64_IPV6_NETWORK: fd00:abcd:abcd:fc00::/64 2025-10-01 13:47:27.808615 | controller | IPV6_LAB_NAT64_TAYGA_DYNAMIC_POOL: 192.168.255.0/24 2025-10-01 13:47:27.808621 | controller | IPV6_LAB_NAT64_TAYGA_IPV4: 192.168.255.1 2025-10-01 13:47:27.808629 | controller | IPV6_LAB_NAT64_TAYGA_IPV6: fd00:abcd:abcd:fc00::3 2025-10-01 13:47:27.808635 | controller | IPV6_LAB_NAT64_TAYGA_IPV6_PREFIX: fd00:abcd:abcd:fcff::/96 2025-10-01 13:47:27.808641 | controller | IPV6_LAB_NAT64_UPDATE_PACKAGES: 'false' 2025-10-01 13:47:27.808647 | controller | IPV6_LAB_NETWORK_NAME: nat64 2025-10-01 13:47:27.808653 | controller | IPV6_LAB_SNO_CLUSTER_NETWORK: fd00:abcd:0::/48 2025-10-01 13:47:27.808659 | controller | IPV6_LAB_SNO_HOST_IP: fd00:abcd:abcd:fc00::11 2025-10-01 13:47:27.808665 | controller | IPV6_LAB_SNO_HOST_PREFIX: '64' 2025-10-01 13:47:27.808671 | controller | IPV6_LAB_SNO_INSTANCE_NAME: sno 2025-10-01 13:47:27.808677 | controller | IPV6_LAB_SNO_MACHINE_NETWORK: fd00:abcd:abcd:fc00::/64 2025-10-01 13:47:27.808683 | controller | IPV6_LAB_SNO_OCP_MIRROR_URL: https://mirror.openshift.com/pub/openshift-v4/clients/ocp 2025-10-01 13:47:27.808689 | controller | IPV6_LAB_SNO_OCP_VERSION: latest-4.14 2025-10-01 13:47:27.808694 | controller | IPV6_LAB_SNO_SERVICE_NETWORK: fd00:abcd:abcd:fc03::/112 2025-10-01 13:47:27.808700 | controller | IPV6_LAB_SSH_PUB_KEY: /home/zuul/.ssh/id_rsa.pub 2025-10-01 13:47:27.808706 | controller | IPV6_LAB_WORK_DIR: /home/zuul/.ipv6lab 2025-10-01 13:47:27.808712 | controller | IRONIC: config/samples/ironic_v1beta1_ironic.yaml 2025-10-01 13:47:27.808718 | controller | IRONICAPI_DEPL_IMG: unused 2025-10-01 13:47:27.808724 | controller | IRONICCON_DEPL_IMG: unused 2025-10-01 13:47:27.808730 | controller | IRONICINS_DEPL_IMG: unused 2025-10-01 13:47:27.808736 | controller | IRONICNAG_DEPL_IMG: unused 2025-10-01 13:47:27.808745 | controller | IRONICPXE_DEPL_IMG: unused 2025-10-01 13:47:27.808751 | controller | IRONIC_BRANCH: main 2025-10-01 13:47:27.808757 | controller | IRONIC_COMMIT_HASH: '' 2025-10-01 13:47:27.808763 | controller | IRONIC_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/config/samples/ironic_v1beta1_ironic.yaml 2025-10-01 13:47:27.808769 | controller | IRONIC_IMAGE_TAG: release-24.1 2025-10-01 13:47:27.808779 | controller | IRONIC_IMG: quay.io/openstack-k8s-operators/ironic-operator-index:latest 2025-10-01 13:47:27.808785 | controller | IRONIC_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/kuttl-test.yaml 2025-10-01 13:47:27.808791 | controller | IRONIC_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/tests/kuttl/tests 2025-10-01 13:47:27.808797 | controller | IRONIC_KUTTL_NAMESPACE: ironic-kuttl-tests 2025-10-01 13:47:27.808803 | controller | IRONIC_REPO: https://github.com/openstack-k8s-operators/ironic-operator.git 2025-10-01 13:47:27.808811 | controller | KEYSTONEAPI: config/samples/keystone_v1beta1_keystoneapi.yaml 2025-10-01 13:47:27.808817 | controller | KEYSTONEAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml 2025-10-01 13:47:27.808825 | controller | KEYSTONEAPI_DEPL_IMG: unused 2025-10-01 13:47:27.808832 | controller | KEYSTONE_BRANCH: '' 2025-10-01 13:47:27.808838 | controller | KEYSTONE_COMMIT_HASH: '' 2025-10-01 13:47:27.808844 | controller | KEYSTONE_FEDERATION_CLIENT_SECRET: COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f 2025-10-01 13:47:27.808850 | controller | KEYSTONE_FEDERATION_CRYPTO_PASSPHRASE: openstack 2025-10-01 13:47:27.808856 | controller | KEYSTONE_IMG: quay.io/openstack-k8s-operators/keystone-operator-index:latest 2025-10-01 13:47:27.808862 | controller | KEYSTONE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/kuttl-test.yaml 2025-10-01 13:47:27.808868 | controller | KEYSTONE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/tests/kuttl/tests 2025-10-01 13:47:27.808873 | controller | KEYSTONE_KUTTL_NAMESPACE: keystone-kuttl-tests 2025-10-01 13:47:27.808879 | controller | KEYSTONE_REPO: /home/zuul/src/github.com/openstack-k8s-operators/keystone-operator 2025-10-01 13:47:27.808885 | controller | KUBEADMIN_PWD: '12345678' 2025-10-01 13:47:27.808891 | controller | LIBVIRT_SECRET: libvirt-secret 2025-10-01 13:47:27.808897 | controller | LOKI_DEPLOY_MODE: openshift-network 2025-10-01 13:47:27.808903 | controller | LOKI_DEPLOY_NAMESPACE: netobserv 2025-10-01 13:47:27.808909 | controller | LOKI_DEPLOY_SIZE: 1x.demo 2025-10-01 13:47:27.808915 | controller | LOKI_NAMESPACE: openshift-operators-redhat 2025-10-01 13:47:27.808921 | controller | LOKI_OPERATOR_GROUP: openshift-operators-redhat-loki 2025-10-01 13:47:27.808927 | controller | LOKI_SUBSCRIPTION: loki-operator 2025-10-01 13:47:27.808932 | controller | LVMS_CR: '1' 2025-10-01 13:47:27.808938 | controller | MANILA: config/samples/manila_v1beta1_manila.yaml 2025-10-01 13:47:27.808944 | controller | MANILAAPI_DEPL_IMG: unused 2025-10-01 13:47:27.808950 | controller | MANILASCH_DEPL_IMG: unused 2025-10-01 13:47:27.808956 | controller | MANILASHARE_DEPL_IMG: unused 2025-10-01 13:47:27.808962 | controller | MANILA_BRANCH: main 2025-10-01 13:47:27.808968 | controller | MANILA_COMMIT_HASH: '' 2025-10-01 13:47:27.808974 | controller | MANILA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/config/samples/manila_v1beta1_manila.yaml 2025-10-01 13:47:27.808980 | controller | MANILA_IMG: quay.io/openstack-k8s-operators/manila-operator-index:latest 2025-10-01 13:47:27.808985 | controller | MANILA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/kuttl-test.yaml 2025-10-01 13:47:27.808994 | controller | MANILA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/test/kuttl/tests 2025-10-01 13:47:27.809000 | controller | MANILA_KUTTL_NAMESPACE: manila-kuttl-tests 2025-10-01 13:47:27.809006 | controller | MANILA_REPO: https://github.com/openstack-k8s-operators/manila-operator.git 2025-10-01 13:47:27.809012 | controller | MANILA_SERVICE_ENABLED: 'true' 2025-10-01 13:47:27.809018 | controller | MARIADB: config/samples/mariadb_v1beta1_galera.yaml 2025-10-01 13:47:27.809023 | controller | MARIADB_BRANCH: main 2025-10-01 13:47:27.809029 | controller | MARIADB_CHAINSAW_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/tests/chainsaw/config.yaml 2025-10-01 13:47:27.809035 | controller | MARIADB_CHAINSAW_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/tests/chainsaw/tests 2025-10-01 13:47:27.809045 | controller | MARIADB_CHAINSAW_NAMESPACE: mariadb-chainsaw-tests 2025-10-01 13:47:27.809051 | controller | MARIADB_COMMIT_HASH: '' 2025-10-01 13:47:27.809057 | controller | MARIADB_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml 2025-10-01 13:47:27.809063 | controller | MARIADB_DEPL_IMG: unused 2025-10-01 13:47:27.809069 | controller | MARIADB_IMG: quay.io/openstack-k8s-operators/mariadb-operator-index:latest 2025-10-01 13:47:27.809075 | controller | MARIADB_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/kuttl-test.yaml 2025-10-01 13:47:27.809081 | controller | MARIADB_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/tests/kuttl/tests 2025-10-01 13:47:27.809086 | controller | MARIADB_KUTTL_NAMESPACE: mariadb-kuttl-tests 2025-10-01 13:47:27.809092 | controller | MARIADB_REPO: https://github.com/openstack-k8s-operators/mariadb-operator.git 2025-10-01 13:47:27.809098 | controller | MEMCACHED: config/samples/memcached_v1beta1_memcached.yaml 2025-10-01 13:47:27.809104 | controller | MEMCACHED_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml 2025-10-01 13:47:27.809110 | controller | MEMCACHED_DEPL_IMG: unused 2025-10-01 13:47:27.809116 | controller | METADATA_SHARED_SECRET: '1234567842' 2025-10-01 13:47:27.809123 | controller | METALLB_IPV6_POOL: fd00:aaaa::80-fd00:aaaa::90 2025-10-01 13:47:27.809129 | controller | METALLB_POOL: 192.168.122.80-192.168.122.90 2025-10-01 13:47:27.809135 | controller | MICROSHIFT: '0' 2025-10-01 13:47:27.809143 | controller | NAMESPACE: openstack 2025-10-01 13:47:27.809149 | controller | NETCONFIG: config/samples/network_v1beta1_netconfig.yaml 2025-10-01 13:47:27.809155 | controller | NETCONFIG_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_netconfig.yaml 2025-10-01 13:47:27.809161 | controller | NETCONFIG_DEPL_IMG: unused 2025-10-01 13:47:27.809167 | controller | NETOBSERV_DEPLOY_NAMESPACE: netobserv 2025-10-01 13:47:27.809173 | controller | NETOBSERV_NAMESPACE: openshift-netobserv-operator 2025-10-01 13:47:27.809179 | controller | NETOBSERV_OPERATOR_GROUP: openshift-netobserv-operator-net 2025-10-01 13:47:27.809185 | controller | NETOBSERV_SUBSCRIPTION: netobserv-operator 2025-10-01 13:47:27.809191 | controller | NETWORK_BGP: 'false' 2025-10-01 13:47:27.809196 | controller | NETWORK_DESIGNATE_ADDRESS_PREFIX: 172.28.0 2025-10-01 13:47:27.809202 | controller | NETWORK_DESIGNATE_EXT_ADDRESS_PREFIX: 172.50.0 2025-10-01 13:47:27.809208 | controller | NETWORK_INTERNALAPI_ADDRESS_PREFIX: 172.17.0 2025-10-01 13:47:27.809214 | controller | NETWORK_ISOLATION: 'true' 2025-10-01 13:47:27.809220 | controller | NETWORK_ISOLATION_INSTANCE_NAME: crc 2025-10-01 13:47:27.809226 | controller | NETWORK_ISOLATION_IPV4: 'true' 2025-10-01 13:47:27.809232 | controller | NETWORK_ISOLATION_IPV4_ADDRESS: 172.16.1.1/24 2025-10-01 13:47:27.809237 | controller | NETWORK_ISOLATION_IPV4_NAT: 'true' 2025-10-01 13:47:27.809243 | controller | NETWORK_ISOLATION_IPV6: 'false' 2025-10-01 13:47:27.809249 | controller | NETWORK_ISOLATION_IPV6_ADDRESS: fd00:aaaa::1/64 2025-10-01 13:47:27.809255 | controller | NETWORK_ISOLATION_IP_ADDRESS: 192.168.122.10 2025-10-01 13:47:27.809261 | controller | NETWORK_ISOLATION_MAC: '52:54:00:11:11:10' 2025-10-01 13:47:27.809267 | controller | NETWORK_ISOLATION_NETWORK_NAME: net-iso 2025-10-01 13:47:27.809273 | controller | NETWORK_ISOLATION_NET_NAME: default 2025-10-01 13:47:27.809278 | controller | NETWORK_ISOLATION_USE_DEFAULT_NETWORK: 'true' 2025-10-01 13:47:27.809284 | controller | NETWORK_MTU: '1500' 2025-10-01 13:47:27.809290 | controller | NETWORK_STORAGEMGMT_ADDRESS_PREFIX: 172.20.0 2025-10-01 13:47:27.809296 | controller | NETWORK_STORAGE_ADDRESS_PREFIX: 172.18.0 2025-10-01 13:47:27.809302 | controller | NETWORK_STORAGE_MACVLAN: '' 2025-10-01 13:47:27.809308 | controller | NETWORK_TENANT_ADDRESS_PREFIX: 172.19.0 2025-10-01 13:47:27.809314 | controller | NETWORK_VLAN_START: '20' 2025-10-01 13:47:27.809320 | controller | NETWORK_VLAN_STEP: '1' 2025-10-01 13:47:27.809325 | controller | NEUTRONAPI: config/samples/neutron_v1beta1_neutronapi.yaml 2025-10-01 13:47:27.809331 | controller | NEUTRONAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/config/samples/neutron_v1beta1_neutronapi.yaml 2025-10-01 13:47:27.809344 | controller | NEUTRONAPI_DEPL_IMG: unused 2025-10-01 13:47:27.809350 | controller | NEUTRON_BRANCH: main 2025-10-01 13:47:27.809356 | controller | NEUTRON_COMMIT_HASH: '' 2025-10-01 13:47:27.809362 | controller | NEUTRON_IMG: quay.io/openstack-k8s-operators/neutron-operator-index:latest 2025-10-01 13:47:27.809367 | controller | NEUTRON_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/kuttl-test.yaml 2025-10-01 13:47:27.809375 | controller | NEUTRON_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/test/kuttl/tests 2025-10-01 13:47:27.809380 | controller | NEUTRON_KUTTL_NAMESPACE: neutron-kuttl-tests 2025-10-01 13:47:27.809386 | controller | NEUTRON_REPO: https://github.com/openstack-k8s-operators/neutron-operator.git 2025-10-01 13:47:27.809392 | controller | NFS_HOME: /home/nfs 2025-10-01 13:47:27.809413 | controller | NMSTATE_NAMESPACE: openshift-nmstate 2025-10-01 13:47:27.809423 | controller | NMSTATE_OPERATOR_GROUP: openshift-nmstate-tn6k8 2025-10-01 13:47:27.809429 | controller | NMSTATE_SUBSCRIPTION: kubernetes-nmstate-operator 2025-10-01 13:47:27.809438 | controller | NNCP_ADDITIONAL_HOST_ROUTES: '' 2025-10-01 13:47:27.809444 | controller | NNCP_BGP_1_INTERFACE: enp7s0 2025-10-01 13:47:27.809450 | controller | NNCP_BGP_1_IP_ADDRESS: 100.65.4.2 2025-10-01 13:47:27.809455 | controller | NNCP_BGP_2_INTERFACE: enp8s0 2025-10-01 13:47:27.809461 | controller | NNCP_BGP_2_IP_ADDRESS: 100.64.4.2 2025-10-01 13:47:27.809467 | controller | NNCP_BRIDGE: ospbr 2025-10-01 13:47:27.809473 | controller | NNCP_CLEANUP_TIMEOUT: 120s 2025-10-01 13:47:27.809479 | controller | NNCP_CTLPLANE_IPV6_ADDRESS_PREFIX: 'fd00:aaaa::' 2025-10-01 13:47:27.809485 | controller | NNCP_CTLPLANE_IPV6_ADDRESS_SUFFIX: '10' 2025-10-01 13:47:27.809491 | controller | NNCP_CTLPLANE_IP_ADDRESS_PREFIX: 192.168.122 2025-10-01 13:47:27.809496 | controller | NNCP_CTLPLANE_IP_ADDRESS_SUFFIX: '10' 2025-10-01 13:47:27.809502 | controller | NNCP_DNS_SERVER: 192.168.122.1 2025-10-01 13:47:27.809508 | controller | NNCP_DNS_SERVER_IPV6: fd00:aaaa::1 2025-10-01 13:47:27.809514 | controller | NNCP_GATEWAY: 192.168.122.1 2025-10-01 13:47:27.809520 | controller | NNCP_GATEWAY_IPV6: fd00:aaaa::1 2025-10-01 13:47:27.809525 | controller | NNCP_INTERFACE: enp6s0 2025-10-01 13:47:27.809531 | controller | NNCP_NODES: '' 2025-10-01 13:47:27.809537 | controller | NNCP_TIMEOUT: 240s 2025-10-01 13:47:27.809543 | controller | NOVA: config/samples/nova_v1beta1_nova_collapsed_cell.yaml 2025-10-01 13:47:27.809565 | controller | NOVA_BRANCH: main 2025-10-01 13:47:27.809571 | controller | NOVA_COMMIT_HASH: '' 2025-10-01 13:47:27.809577 | controller | NOVA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator/config/samples/nova_v1beta1_nova_collapsed_cell.yaml 2025-10-01 13:47:27.809583 | controller | NOVA_IMG: quay.io/openstack-k8s-operators/nova-operator-index:latest 2025-10-01 13:47:27.809589 | controller | NOVA_REPO: https://github.com/openstack-k8s-operators/nova-operator.git 2025-10-01 13:47:27.809595 | controller | NUMBER_OF_INSTANCES: '1' 2025-10-01 13:47:27.809601 | controller | OCP_NETWORK_NAME: crc 2025-10-01 13:47:27.809607 | controller | OCTAVIA: config/samples/octavia_v1beta1_octavia.yaml 2025-10-01 13:47:27.809613 | controller | OCTAVIA_BRANCH: main 2025-10-01 13:47:27.809618 | controller | OCTAVIA_COMMIT_HASH: '' 2025-10-01 13:47:27.809624 | controller | OCTAVIA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/config/samples/octavia_v1beta1_octavia.yaml 2025-10-01 13:47:27.809630 | controller | OCTAVIA_IMG: quay.io/openstack-k8s-operators/octavia-operator-index:latest 2025-10-01 13:47:27.809636 | controller | OCTAVIA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/kuttl-test.yaml 2025-10-01 13:47:27.809642 | controller | OCTAVIA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/tests/kuttl/tests 2025-10-01 13:47:27.809648 | controller | OCTAVIA_KUTTL_NAMESPACE: octavia-kuttl-tests 2025-10-01 13:47:27.809654 | controller | OCTAVIA_REPO: https://github.com/openstack-k8s-operators/octavia-operator.git 2025-10-01 13:47:27.809660 | controller | OKD: 'false' 2025-10-01 13:47:27.809669 | controller | OPENSTACK_BRANCH: main 2025-10-01 13:47:27.809675 | controller | OPENSTACK_BUNDLE_IMG: quay.io/openstack-k8s-operators/openstack-operator-bundle:latest 2025-10-01 13:47:27.809680 | controller | OPENSTACK_COMMIT_HASH: '' 2025-10-01 13:47:27.809686 | controller | OPENSTACK_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml 2025-10-01 13:47:27.809693 | controller | OPENSTACK_CRDS_DIR: openstack_crds 2025-10-01 13:47:27.809699 | controller | OPENSTACK_CTLPLANE: config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml 2025-10-01 13:47:27.809705 | controller | OPENSTACK_IMG: quay.io/openstack-k8s-operators/openstack-operator-index:latest 2025-10-01 13:47:27.809711 | controller | OPENSTACK_K8S_BRANCH: main 2025-10-01 13:47:27.809717 | controller | OPENSTACK_K8S_TAG: latest 2025-10-01 13:47:27.809723 | controller | OPENSTACK_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/kuttl-test.yaml 2025-10-01 13:47:27.809729 | controller | OPENSTACK_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/tests/kuttl/tests 2025-10-01 13:47:27.809735 | controller | OPENSTACK_KUTTL_NAMESPACE: openstack-kuttl-tests 2025-10-01 13:47:27.809741 | controller | OPENSTACK_NEUTRON_CUSTOM_CONF: '' 2025-10-01 13:47:27.809747 | controller | OPENSTACK_REPO: https://github.com/openstack-k8s-operators/openstack-operator.git 2025-10-01 13:47:27.809752 | controller | OPENSTACK_STORAGE_BUNDLE_IMG: quay.io/openstack-k8s-operators/openstack-operator-storage-bundle:latest 2025-10-01 13:47:27.809758 | controller | OPERATOR_BASE_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator 2025-10-01 13:47:27.809764 | controller | OPERATOR_CHANNEL: '' 2025-10-01 13:47:27.809770 | controller | OPERATOR_NAMESPACE: openstack-operators 2025-10-01 13:47:27.809776 | controller | OPERATOR_SOURCE: '' 2025-10-01 13:47:27.809782 | controller | OPERATOR_SOURCE_NAMESPACE: '' 2025-10-01 13:47:27.809788 | controller | OUT: /home/zuul/ci-framework-data/artifacts/manifests 2025-10-01 13:47:27.809794 | controller | OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm 2025-10-01 13:47:27.809799 | controller | OVNCONTROLLER: config/samples/ovn_v1beta1_ovncontroller.yaml 2025-10-01 13:47:27.809807 | controller | OVNCONTROLLER_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovncontroller.yaml 2025-10-01 13:47:27.809813 | controller | OVNCONTROLLER_NMAP: 'true' 2025-10-01 13:47:27.809819 | controller | OVNDBS: config/samples/ovn_v1beta1_ovndbcluster.yaml 2025-10-01 13:47:27.809825 | controller | OVNDBS_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovndbcluster.yaml 2025-10-01 13:47:27.809831 | controller | OVNNORTHD: config/samples/ovn_v1beta1_ovnnorthd.yaml 2025-10-01 13:47:27.809839 | controller | OVNNORTHD_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovnnorthd.yaml 2025-10-01 13:47:27.809846 | controller | OVN_BRANCH: main 2025-10-01 13:47:27.809851 | controller | OVN_COMMIT_HASH: '' 2025-10-01 13:47:27.809857 | controller | OVN_IMG: quay.io/openstack-k8s-operators/ovn-operator-index:latest 2025-10-01 13:47:27.809866 | controller | OVN_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/kuttl-test.yaml 2025-10-01 13:47:27.821598 | controller | OVN_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/tests/kuttl/tests 2025-10-01 13:47:27.821631 | controller | OVN_KUTTL_NAMESPACE: ovn-kuttl-tests 2025-10-01 13:47:27.821649 | controller | OVN_REPO: https://github.com/openstack-k8s-operators/ovn-operator.git 2025-10-01 13:47:27.821656 | controller | PASSWORD: '12345678' 2025-10-01 13:47:27.821662 | controller | PLACEMENTAPI: config/samples/placement_v1beta1_placementapi.yaml 2025-10-01 13:47:27.821668 | controller | PLACEMENTAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/config/samples/placement_v1beta1_placementapi.yaml 2025-10-01 13:47:27.821675 | controller | PLACEMENTAPI_DEPL_IMG: unused 2025-10-01 13:47:27.821681 | controller | PLACEMENT_BRANCH: main 2025-10-01 13:47:27.821691 | controller | PLACEMENT_COMMIT_HASH: '' 2025-10-01 13:47:27.821697 | controller | PLACEMENT_IMG: quay.io/openstack-k8s-operators/placement-operator-index:latest 2025-10-01 13:47:27.821703 | controller | PLACEMENT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/kuttl-test.yaml 2025-10-01 13:47:27.821709 | controller | PLACEMENT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/tests/kuttl/tests 2025-10-01 13:47:27.821715 | controller | PLACEMENT_KUTTL_NAMESPACE: placement-kuttl-tests 2025-10-01 13:47:27.821721 | controller | PLACEMENT_REPO: https://github.com/openstack-k8s-operators/placement-operator.git 2025-10-01 13:47:27.821727 | controller | PULL_SECRET: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/pull-secret.txt 2025-10-01 13:47:27.821733 | controller | RABBITMQ: docs/examples/default-security-context/rabbitmq.yaml 2025-10-01 13:47:27.821742 | controller | RABBITMQ_BRANCH: patches 2025-10-01 13:47:27.821748 | controller | RABBITMQ_COMMIT_HASH: '' 2025-10-01 13:47:27.821753 | controller | RABBITMQ_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml 2025-10-01 13:47:27.821759 | controller | RABBITMQ_DEPL_IMG: unused 2025-10-01 13:47:27.821765 | controller | RABBITMQ_IMG: quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest 2025-10-01 13:47:27.821771 | controller | RABBITMQ_REPO: https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git 2025-10-01 13:47:27.821777 | controller | REDHAT_OPERATORS: 'false' 2025-10-01 13:47:27.821783 | controller | REDIS: config/samples/redis_v1beta1_redis.yaml 2025-10-01 13:47:27.821789 | controller | REDIS_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis/config/samples/redis_v1beta1_redis.yaml 2025-10-01 13:47:27.821795 | controller | REDIS_DEPL_IMG: unused 2025-10-01 13:47:27.821801 | controller | RH_REGISTRY_PWD: '' 2025-10-01 13:47:27.821807 | controller | RH_REGISTRY_USER: '' 2025-10-01 13:47:27.821813 | controller | SECRET: osp-secret 2025-10-01 13:47:27.821819 | controller | SG_CORE_DEPL_IMG: unused 2025-10-01 13:47:27.821825 | controller | STANDALONE_COMPUTE_DRIVER: libvirt 2025-10-01 13:47:27.821831 | controller | STANDALONE_EXTERNAL_NET_PREFFIX: 172.21.0 2025-10-01 13:47:27.821837 | controller | STANDALONE_INTERNALAPI_NET_PREFIX: 172.17.0 2025-10-01 13:47:27.821843 | controller | STANDALONE_STORAGEMGMT_NET_PREFIX: 172.20.0 2025-10-01 13:47:27.821848 | controller | STANDALONE_STORAGE_NET_PREFIX: 172.18.0 2025-10-01 13:47:27.821854 | controller | STANDALONE_TENANT_NET_PREFIX: 172.19.0 2025-10-01 13:47:27.821860 | controller | STORAGEMGMT_HOST_ROUTES: '' 2025-10-01 13:47:27.821866 | controller | STORAGE_CLASS: local-storage 2025-10-01 13:47:27.821872 | controller | STORAGE_HOST_ROUTES: '' 2025-10-01 13:47:27.821877 | controller | SWIFT: config/samples/swift_v1beta1_swift.yaml 2025-10-01 13:47:27.821883 | controller | SWIFT_BRANCH: main 2025-10-01 13:47:27.821889 | controller | SWIFT_COMMIT_HASH: '' 2025-10-01 13:47:27.821895 | controller | SWIFT_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/config/samples/swift_v1beta1_swift.yaml 2025-10-01 13:47:27.821901 | controller | SWIFT_IMG: quay.io/openstack-k8s-operators/swift-operator-index:latest 2025-10-01 13:47:27.821907 | controller | SWIFT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/kuttl-test.yaml 2025-10-01 13:47:27.821913 | controller | SWIFT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/tests/kuttl/tests 2025-10-01 13:47:27.821919 | controller | SWIFT_KUTTL_NAMESPACE: swift-kuttl-tests 2025-10-01 13:47:27.821928 | controller | SWIFT_REPO: https://github.com/openstack-k8s-operators/swift-operator.git 2025-10-01 13:47:27.821937 | controller | TELEMETRY: config/samples/telemetry_v1beta1_telemetry.yaml 2025-10-01 13:47:27.821943 | controller | TELEMETRY_BRANCH: main 2025-10-01 13:47:27.821948 | controller | TELEMETRY_COMMIT_HASH: '' 2025-10-01 13:47:27.821954 | controller | TELEMETRY_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/config/samples/telemetry_v1beta1_telemetry.yaml 2025-10-01 13:47:27.821963 | controller | TELEMETRY_IMG: quay.io/openstack-k8s-operators/telemetry-operator-index:latest 2025-10-01 13:47:27.821969 | controller | TELEMETRY_KUTTL_BASEDIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator 2025-10-01 13:47:27.821975 | controller | TELEMETRY_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/kuttl-test.yaml 2025-10-01 13:47:27.821981 | controller | TELEMETRY_KUTTL_NAMESPACE: telemetry-kuttl-tests 2025-10-01 13:47:27.821987 | controller | TELEMETRY_KUTTL_RELPATH: tests/kuttl/suites 2025-10-01 13:47:27.821993 | controller | TELEMETRY_REPO: https://github.com/openstack-k8s-operators/telemetry-operator.git 2025-10-01 13:47:27.821999 | controller | TENANT_HOST_ROUTES: '' 2025-10-01 13:47:27.822005 | controller | TIMEOUT: 300s 2025-10-01 13:47:27.822011 | controller | TLS_ENABLED: 'false' 2025-10-01 13:47:27.822017 | controller | tripleo_deploy: 'export REGISTRY_USER:' 2025-10-01 13:47:27.822028 | controller | 2025-10-01 13:47:28.178115 | controller | TASK [install_yamls : Generate make targets install_yamls_path={{ cifmw_install_yamls_repo }}, output_directory={{ cifmw_install_yamls_tasks_out }}] *** 2025-10-01 13:47:28.178194 | controller | Wednesday 01 October 2025 13:47:27 +0000 (0:00:00.042) 0:01:04.216 ***** 2025-10-01 13:47:28.178219 | controller | ok: [localhost] 2025-10-01 13:47:28.206640 | controller | 2025-10-01 13:47:28.206738 | controller | TASK [install_yamls : Debug generate_make module var=cifmw_generate_makes] ***** 2025-10-01 13:47:28.206749 | controller | Wednesday 01 October 2025 13:47:28 +0000 (0:00:00.356) 0:01:04.573 ***** 2025-10-01 13:47:28.206768 | controller | ok: [localhost] => 2025-10-01 13:47:28.206778 | controller | cifmw_generate_makes: 2025-10-01 13:47:28.206787 | controller | changed: false 2025-10-01 13:47:28.206796 | controller | debug: 2025-10-01 13:47:28.206804 | controller | /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/Makefile: 2025-10-01 13:47:28.206814 | controller | - all 2025-10-01 13:47:28.206824 | controller | - help 2025-10-01 13:47:28.206840 | controller | - cleanup 2025-10-01 13:47:28.206848 | controller | - deploy_cleanup 2025-10-01 13:47:28.206857 | controller | - wait 2025-10-01 13:47:28.206866 | controller | - crc_storage 2025-10-01 13:47:28.206882 | controller | - crc_storage_cleanup 2025-10-01 13:47:28.206891 | controller | - crc_storage_release 2025-10-01 13:47:28.206899 | controller | - crc_storage_with_retries 2025-10-01 13:47:28.206909 | controller | - crc_storage_cleanup_with_retries 2025-10-01 13:47:28.206917 | controller | - operator_namespace 2025-10-01 13:47:28.206926 | controller | - namespace 2025-10-01 13:47:28.206934 | controller | - namespace_cleanup 2025-10-01 13:47:28.206943 | controller | - input 2025-10-01 13:47:28.206951 | controller | - input_cleanup 2025-10-01 13:47:28.206960 | controller | - crc_bmo_setup 2025-10-01 13:47:28.206969 | controller | - crc_bmo_cleanup 2025-10-01 13:47:28.206977 | controller | - openstack_prep 2025-10-01 13:47:28.206986 | controller | - openstack 2025-10-01 13:47:28.206994 | controller | - openstack_wait 2025-10-01 13:47:28.207003 | controller | - openstack_init 2025-10-01 13:47:28.207011 | controller | - openstack_cleanup 2025-10-01 13:47:28.207020 | controller | - openstack_repo 2025-10-01 13:47:28.207028 | controller | - openstack_deploy_prep 2025-10-01 13:47:28.207037 | controller | - openstack_deploy 2025-10-01 13:47:28.207045 | controller | - openstack_wait_deploy 2025-10-01 13:47:28.207054 | controller | - openstack_deploy_cleanup 2025-10-01 13:47:28.207062 | controller | - openstack_update_run 2025-10-01 13:47:28.207071 | controller | - update_services 2025-10-01 13:47:28.207079 | controller | - update_system 2025-10-01 13:47:28.207088 | controller | - openstack_patch_version 2025-10-01 13:47:28.207097 | controller | - edpm_deploy_generate_keys 2025-10-01 13:47:28.207105 | controller | - edpm_patch_ansible_runner_image 2025-10-01 13:47:28.207114 | controller | - edpm_deploy_prep 2025-10-01 13:47:28.207122 | controller | - edpm_deploy_cleanup 2025-10-01 13:47:28.207131 | controller | - edpm_deploy 2025-10-01 13:47:28.207139 | controller | - edpm_deploy_baremetal_prep 2025-10-01 13:47:28.207148 | controller | - edpm_deploy_baremetal 2025-10-01 13:47:28.207156 | controller | - edpm_wait_deploy_baremetal 2025-10-01 13:47:28.207165 | controller | - edpm_wait_deploy 2025-10-01 13:47:28.207181 | controller | - edpm_register_dns 2025-10-01 13:47:28.207190 | controller | - edpm_nova_discover_hosts 2025-10-01 13:47:28.207199 | controller | - openstack_crds 2025-10-01 13:47:28.207208 | controller | - openstack_crds_cleanup 2025-10-01 13:47:28.207217 | controller | - edpm_deploy_networker_prep 2025-10-01 13:47:28.207226 | controller | - edpm_deploy_networker_cleanup 2025-10-01 13:47:28.207235 | controller | - edpm_deploy_networker 2025-10-01 13:47:28.207244 | controller | - infra_prep 2025-10-01 13:47:28.207253 | controller | - infra 2025-10-01 13:47:28.207261 | controller | - infra_cleanup 2025-10-01 13:47:28.207270 | controller | - dns_deploy_prep 2025-10-01 13:47:28.207279 | controller | - dns_deploy 2025-10-01 13:47:28.207288 | controller | - dns_deploy_cleanup 2025-10-01 13:47:28.207297 | controller | - netconfig_deploy_prep 2025-10-01 13:47:28.207306 | controller | - netconfig_deploy 2025-10-01 13:47:28.207314 | controller | - netconfig_deploy_cleanup 2025-10-01 13:47:28.207323 | controller | - memcached_deploy_prep 2025-10-01 13:47:28.207331 | controller | - memcached_deploy 2025-10-01 13:47:28.207340 | controller | - memcached_deploy_cleanup 2025-10-01 13:47:28.207349 | controller | - keystone_prep 2025-10-01 13:47:28.207357 | controller | - keystone 2025-10-01 13:47:28.207365 | controller | - keystone_cleanup 2025-10-01 13:47:28.207374 | controller | - keystone_deploy_prep 2025-10-01 13:47:28.207382 | controller | - keystone_deploy 2025-10-01 13:47:28.207391 | controller | - keystone_deploy_cleanup 2025-10-01 13:47:28.207426 | controller | - barbican_prep 2025-10-01 13:47:28.207439 | controller | - barbican 2025-10-01 13:47:28.207448 | controller | - barbican_cleanup 2025-10-01 13:47:28.207456 | controller | - barbican_deploy_prep 2025-10-01 13:47:28.207465 | controller | - barbican_deploy 2025-10-01 13:47:28.207474 | controller | - barbican_deploy_validate 2025-10-01 13:47:28.207482 | controller | - barbican_deploy_cleanup 2025-10-01 13:47:28.207491 | controller | - mariadb 2025-10-01 13:47:28.207499 | controller | - mariadb_cleanup 2025-10-01 13:47:28.207507 | controller | - mariadb_deploy_prep 2025-10-01 13:47:28.207516 | controller | - mariadb_deploy 2025-10-01 13:47:28.207525 | controller | - mariadb_deploy_cleanup 2025-10-01 13:47:28.207533 | controller | - placement_prep 2025-10-01 13:47:28.207542 | controller | - placement 2025-10-01 13:47:28.207551 | controller | - placement_cleanup 2025-10-01 13:47:28.207560 | controller | - placement_deploy_prep 2025-10-01 13:47:28.207569 | controller | - placement_deploy 2025-10-01 13:47:28.207578 | controller | - placement_deploy_cleanup 2025-10-01 13:47:28.207586 | controller | - glance_prep 2025-10-01 13:47:28.207595 | controller | - glance 2025-10-01 13:47:28.207605 | controller | - glance_cleanup 2025-10-01 13:47:28.207614 | controller | - glance_deploy_prep 2025-10-01 13:47:28.207622 | controller | - glance_deploy 2025-10-01 13:47:28.207631 | controller | - glance_deploy_cleanup 2025-10-01 13:47:28.207640 | controller | - ovn_prep 2025-10-01 13:47:28.207649 | controller | - ovn 2025-10-01 13:47:28.207658 | controller | - ovn_cleanup 2025-10-01 13:47:28.207667 | controller | - ovn_deploy_prep 2025-10-01 13:47:28.207675 | controller | - ovn_deploy 2025-10-01 13:47:28.207684 | controller | - ovn_deploy_cleanup 2025-10-01 13:47:28.207693 | controller | - neutron_prep 2025-10-01 13:47:28.207702 | controller | - neutron 2025-10-01 13:47:28.207716 | controller | - neutron_cleanup 2025-10-01 13:47:28.207725 | controller | - neutron_deploy_prep 2025-10-01 13:47:28.207733 | controller | - neutron_deploy 2025-10-01 13:47:28.207742 | controller | - neutron_deploy_cleanup 2025-10-01 13:47:28.207751 | controller | - cinder_prep 2025-10-01 13:47:28.207760 | controller | - cinder 2025-10-01 13:47:28.207769 | controller | - cinder_cleanup 2025-10-01 13:47:28.207777 | controller | - cinder_deploy_prep 2025-10-01 13:47:28.207786 | controller | - cinder_deploy 2025-10-01 13:47:28.207795 | controller | - cinder_deploy_cleanup 2025-10-01 13:47:28.207804 | controller | - rabbitmq_prep 2025-10-01 13:47:28.207813 | controller | - rabbitmq 2025-10-01 13:47:28.207822 | controller | - rabbitmq_cleanup 2025-10-01 13:47:28.207830 | controller | - rabbitmq_deploy_prep 2025-10-01 13:47:28.207839 | controller | - rabbitmq_deploy 2025-10-01 13:47:28.207848 | controller | - rabbitmq_deploy_cleanup 2025-10-01 13:47:28.207856 | controller | - ironic_prep 2025-10-01 13:47:28.207869 | controller | - ironic 2025-10-01 13:47:28.207878 | controller | - ironic_cleanup 2025-10-01 13:47:28.207886 | controller | - ironic_deploy_prep 2025-10-01 13:47:28.207895 | controller | - ironic_deploy 2025-10-01 13:47:28.207903 | controller | - ironic_deploy_cleanup 2025-10-01 13:47:28.207912 | controller | - octavia_prep 2025-10-01 13:47:28.207920 | controller | - octavia 2025-10-01 13:47:28.207929 | controller | - octavia_cleanup 2025-10-01 13:47:28.207937 | controller | - octavia_deploy_prep 2025-10-01 13:47:28.207945 | controller | - octavia_deploy 2025-10-01 13:47:28.207954 | controller | - octavia_deploy_cleanup 2025-10-01 13:47:28.207962 | controller | - designate_prep 2025-10-01 13:47:28.207971 | controller | - designate 2025-10-01 13:47:28.207979 | controller | - designate_cleanup 2025-10-01 13:47:28.207988 | controller | - designate_deploy_prep 2025-10-01 13:47:28.207996 | controller | - designate_deploy 2025-10-01 13:47:28.208004 | controller | - designate_deploy_cleanup 2025-10-01 13:47:28.208013 | controller | - nova_prep 2025-10-01 13:47:28.208021 | controller | - nova 2025-10-01 13:47:28.208029 | controller | - nova_cleanup 2025-10-01 13:47:28.208038 | controller | - nova_deploy_prep 2025-10-01 13:47:28.208046 | controller | - nova_deploy 2025-10-01 13:47:28.208055 | controller | - nova_deploy_cleanup 2025-10-01 13:47:28.208064 | controller | - mariadb_kuttl_run 2025-10-01 13:47:28.208073 | controller | - mariadb_kuttl 2025-10-01 13:47:28.208081 | controller | - kuttl_db_prep 2025-10-01 13:47:28.208089 | controller | - kuttl_db_cleanup 2025-10-01 13:47:28.208097 | controller | - kuttl_common_prep 2025-10-01 13:47:28.208106 | controller | - kuttl_common_cleanup 2025-10-01 13:47:28.208114 | controller | - keystone_kuttl_run 2025-10-01 13:47:28.208122 | controller | - keystone_kuttl 2025-10-01 13:47:28.208131 | controller | - barbican_kuttl_run 2025-10-01 13:47:28.208139 | controller | - barbican_kuttl 2025-10-01 13:47:28.208156 | controller | - placement_kuttl_run 2025-10-01 13:47:28.208165 | controller | - placement_kuttl 2025-10-01 13:47:28.208174 | controller | - cinder_kuttl_run 2025-10-01 13:47:28.208182 | controller | - cinder_kuttl 2025-10-01 13:47:28.208190 | controller | - neutron_kuttl_run 2025-10-01 13:47:28.208199 | controller | - neutron_kuttl 2025-10-01 13:47:28.208207 | controller | - octavia_kuttl_run 2025-10-01 13:47:28.208215 | controller | - octavia_kuttl 2025-10-01 13:47:28.208224 | controller | - designate_kuttl 2025-10-01 13:47:28.208233 | controller | - designate_kuttl_run 2025-10-01 13:47:28.208241 | controller | - ovn_kuttl_run 2025-10-01 13:47:28.208250 | controller | - ovn_kuttl 2025-10-01 13:47:28.208259 | controller | - infra_kuttl_run 2025-10-01 13:47:28.208267 | controller | - infra_kuttl 2025-10-01 13:47:28.208276 | controller | - ironic_kuttl_run 2025-10-01 13:47:28.208285 | controller | - ironic_kuttl 2025-10-01 13:47:28.208293 | controller | - ironic_kuttl_crc 2025-10-01 13:47:28.208302 | controller | - heat_kuttl_run 2025-10-01 13:47:28.208311 | controller | - heat_kuttl 2025-10-01 13:47:28.208319 | controller | - heat_kuttl_crc 2025-10-01 13:47:28.208333 | controller | - ansibleee_kuttl_run 2025-10-01 13:47:28.208342 | controller | - ansibleee_kuttl_cleanup 2025-10-01 13:47:28.208351 | controller | - ansibleee_kuttl_prep 2025-10-01 13:47:28.208359 | controller | - ansibleee_kuttl 2025-10-01 13:47:28.208368 | controller | - glance_kuttl_run 2025-10-01 13:47:28.208377 | controller | - glance_kuttl 2025-10-01 13:47:28.208386 | controller | - manila_kuttl_run 2025-10-01 13:47:28.208394 | controller | - manila_kuttl 2025-10-01 13:47:28.208424 | controller | - swift_kuttl_run 2025-10-01 13:47:28.208434 | controller | - swift_kuttl 2025-10-01 13:47:28.208442 | controller | - horizon_kuttl_run 2025-10-01 13:47:28.208451 | controller | - horizon_kuttl 2025-10-01 13:47:28.208460 | controller | - openstack_kuttl_run 2025-10-01 13:47:28.208469 | controller | - openstack_kuttl 2025-10-01 13:47:28.208478 | controller | - mariadb_chainsaw_run 2025-10-01 13:47:28.208486 | controller | - mariadb_chainsaw 2025-10-01 13:47:28.208495 | controller | - horizon_prep 2025-10-01 13:47:28.208504 | controller | - horizon 2025-10-01 13:47:28.208513 | controller | - horizon_cleanup 2025-10-01 13:47:28.208522 | controller | - horizon_deploy_prep 2025-10-01 13:47:28.208530 | controller | - horizon_deploy 2025-10-01 13:47:28.208539 | controller | - horizon_deploy_cleanup 2025-10-01 13:47:28.208558 | controller | - heat_prep 2025-10-01 13:47:28.208567 | controller | - heat 2025-10-01 13:47:28.208576 | controller | - heat_cleanup 2025-10-01 13:47:28.208584 | controller | - heat_deploy_prep 2025-10-01 13:47:28.208593 | controller | - heat_deploy 2025-10-01 13:47:28.208602 | controller | - heat_deploy_cleanup 2025-10-01 13:47:28.208611 | controller | - ansibleee_prep 2025-10-01 13:47:28.208619 | controller | - ansibleee 2025-10-01 13:47:28.208628 | controller | - ansibleee_cleanup 2025-10-01 13:47:28.208636 | controller | - baremetal_prep 2025-10-01 13:47:28.208644 | controller | - baremetal 2025-10-01 13:47:28.208652 | controller | - baremetal_cleanup 2025-10-01 13:47:28.208659 | controller | - ceph_help 2025-10-01 13:47:28.208667 | controller | - ceph 2025-10-01 13:47:28.208676 | controller | - ceph_cleanup 2025-10-01 13:47:28.208684 | controller | - rook_prep 2025-10-01 13:47:28.208693 | controller | - rook 2025-10-01 13:47:28.208702 | controller | - rook_deploy_prep 2025-10-01 13:47:28.208711 | controller | - rook_deploy 2025-10-01 13:47:28.208720 | controller | - rook_crc_disk 2025-10-01 13:47:28.208728 | controller | - rook_cleanup 2025-10-01 13:47:28.208737 | controller | - lvms 2025-10-01 13:47:28.208746 | controller | - nmstate 2025-10-01 13:47:28.208755 | controller | - nncp 2025-10-01 13:47:28.208764 | controller | - nncp_cleanup 2025-10-01 13:47:28.208773 | controller | - netattach 2025-10-01 13:47:28.208782 | controller | - netattach_cleanup 2025-10-01 13:47:28.208790 | controller | - metallb 2025-10-01 13:47:28.208799 | controller | - metallb_config 2025-10-01 13:47:28.208807 | controller | - metallb_config_cleanup 2025-10-01 13:47:28.208816 | controller | - metallb_cleanup 2025-10-01 13:47:28.208824 | controller | - loki 2025-10-01 13:47:28.208832 | controller | - loki_cleanup 2025-10-01 13:47:28.208841 | controller | - loki_deploy 2025-10-01 13:47:28.208849 | controller | - loki_deploy_cleanup 2025-10-01 13:47:28.208857 | controller | - netobserv 2025-10-01 13:47:28.208864 | controller | - netobserv_cleanup 2025-10-01 13:47:28.208872 | controller | - netobserv_deploy 2025-10-01 13:47:28.208880 | controller | - netobserv_deploy_cleanup 2025-10-01 13:47:28.208894 | controller | - manila_prep 2025-10-01 13:47:28.208903 | controller | - manila 2025-10-01 13:47:28.208912 | controller | - manila_cleanup 2025-10-01 13:47:28.208920 | controller | - manila_deploy_prep 2025-10-01 13:47:28.208929 | controller | - manila_deploy 2025-10-01 13:47:28.208937 | controller | - manila_deploy_cleanup 2025-10-01 13:47:28.208946 | controller | - telemetry_prep 2025-10-01 13:47:28.208954 | controller | - telemetry 2025-10-01 13:47:28.208963 | controller | - telemetry_cleanup 2025-10-01 13:47:28.208971 | controller | - telemetry_deploy_prep 2025-10-01 13:47:28.208980 | controller | - telemetry_deploy 2025-10-01 13:47:28.208988 | controller | - telemetry_deploy_cleanup 2025-10-01 13:47:28.208997 | controller | - telemetry_kuttl_run 2025-10-01 13:47:28.209005 | controller | - telemetry_kuttl 2025-10-01 13:47:28.209013 | controller | - swift_prep 2025-10-01 13:47:28.209028 | controller | - swift 2025-10-01 13:47:28.209036 | controller | - swift_cleanup 2025-10-01 13:47:28.209045 | controller | - swift_deploy_prep 2025-10-01 13:47:28.209053 | controller | - swift_deploy 2025-10-01 13:47:28.209062 | controller | - swift_deploy_cleanup 2025-10-01 13:47:28.209070 | controller | - certmanager 2025-10-01 13:47:28.209078 | controller | - certmanager_cleanup 2025-10-01 13:47:28.209087 | controller | - validate_marketplace 2025-10-01 13:47:28.209095 | controller | - redis_deploy_prep 2025-10-01 13:47:28.209104 | controller | - redis_deploy 2025-10-01 13:47:28.209113 | controller | - redis_deploy_cleanup 2025-10-01 13:47:28.209122 | controller | - set_slower_etcd_profile 2025-10-01 13:47:28.209130 | controller | /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup/Makefile: 2025-10-01 13:47:28.209140 | controller | - help 2025-10-01 13:47:28.209149 | controller | - download_tools 2025-10-01 13:47:28.209158 | controller | - nfs 2025-10-01 13:47:28.209167 | controller | - nfs_cleanup 2025-10-01 13:47:28.209176 | controller | - crc 2025-10-01 13:47:28.209184 | controller | - crc_cleanup 2025-10-01 13:47:28.209193 | controller | - crc_scrub 2025-10-01 13:47:28.209202 | controller | - crc_attach_default_interface 2025-10-01 13:47:28.209215 | controller | - crc_attach_default_interface_cleanup 2025-10-01 13:47:28.209224 | controller | - ipv6_lab_network 2025-10-01 13:47:28.209233 | controller | - ipv6_lab_network_cleanup 2025-10-01 13:47:28.209242 | controller | - ipv6_lab_nat64_router 2025-10-01 13:47:28.209251 | controller | - ipv6_lab_nat64_router_cleanup 2025-10-01 13:47:28.209260 | controller | - ipv6_lab_sno 2025-10-01 13:47:28.209269 | controller | - ipv6_lab_sno_cleanup 2025-10-01 13:47:28.209278 | controller | - ipv6_lab 2025-10-01 13:47:28.209287 | controller | - ipv6_lab_cleanup 2025-10-01 13:47:28.209295 | controller | - attach_default_interface 2025-10-01 13:47:28.209304 | controller | - attach_default_interface_cleanup 2025-10-01 13:47:28.209313 | controller | - network_isolation_bridge 2025-10-01 13:47:28.209322 | controller | - network_isolation_bridge_cleanup 2025-10-01 13:47:28.209331 | controller | - edpm_baremetal_compute 2025-10-01 13:47:28.209340 | controller | - edpm_compute 2025-10-01 13:47:28.209349 | controller | - edpm_compute_bootc 2025-10-01 13:47:28.209358 | controller | - edpm_ansible_runner 2025-10-01 13:47:28.209366 | controller | - edpm_computes_bgp 2025-10-01 13:47:28.209375 | controller | - edpm_compute_repos 2025-10-01 13:47:28.209384 | controller | - edpm_compute_cleanup 2025-10-01 13:47:28.209393 | controller | - edpm_networker 2025-10-01 13:47:28.209423 | controller | - edpm_networker_cleanup 2025-10-01 13:47:28.209432 | controller | - edpm_deploy_instance 2025-10-01 13:47:28.209441 | controller | - tripleo_deploy 2025-10-01 13:47:28.209450 | controller | - standalone_deploy 2025-10-01 13:47:28.209459 | controller | - standalone_sync 2025-10-01 13:47:28.209468 | controller | - standalone 2025-10-01 13:47:28.209477 | controller | - standalone_cleanup 2025-10-01 13:47:28.209486 | controller | - standalone_snapshot 2025-10-01 13:47:28.209495 | controller | - standalone_revert 2025-10-01 13:47:28.209503 | controller | - cifmw_prepare 2025-10-01 13:47:28.209512 | controller | - cifmw_cleanup 2025-10-01 13:47:28.209521 | controller | - bmaas_network 2025-10-01 13:47:28.209530 | controller | - bmaas_network_cleanup 2025-10-01 13:47:28.209539 | controller | - bmaas_route_crc_and_crc_bmaas_networks 2025-10-01 13:47:28.209548 | controller | - bmaas_route_crc_and_crc_bmaas_networks_cleanup 2025-10-01 13:47:28.209564 | controller | - bmaas_crc_attach_network 2025-10-01 13:47:28.217082 | controller | - bmaas_crc_attach_network_cleanup 2025-10-01 13:47:28.217165 | controller | - bmaas_crc_baremetal_bridge 2025-10-01 13:47:28.217176 | controller | - bmaas_crc_baremetal_bridge_cleanup 2025-10-01 13:47:28.217185 | controller | - bmaas_baremetal_net_nad 2025-10-01 13:47:28.217195 | controller | - bmaas_baremetal_net_nad_cleanup 2025-10-01 13:47:28.217204 | controller | - bmaas_metallb 2025-10-01 13:47:28.217213 | controller | - bmaas_metallb_cleanup 2025-10-01 13:47:28.217221 | controller | - bmaas_virtual_bms 2025-10-01 13:47:28.217230 | controller | - bmaas_virtual_bms_cleanup 2025-10-01 13:47:28.217239 | controller | - bmaas_sushy_emulator 2025-10-01 13:47:28.217247 | controller | - bmaas_sushy_emulator_cleanup 2025-10-01 13:47:28.217256 | controller | - bmaas_sushy_emulator_wait 2025-10-01 13:47:28.217265 | controller | - bmaas_generate_nodes_yaml 2025-10-01 13:47:28.217273 | controller | - bmaas 2025-10-01 13:47:28.217282 | controller | - bmaas_cleanup 2025-10-01 13:47:28.217291 | controller | failed: false 2025-10-01 13:47:28.217300 | controller | success: true 2025-10-01 13:47:28.217324 | controller | 2025-10-01 13:47:28.645339 | 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-10-01 13:47:28.645435 | controller | { 2025-10-01 13:47:28.645447 | controller | 'cifmw_install_yamls_environment': cifmw_install_yamls_environment, 2025-10-01 13:47:28.645454 | controller | 'cifmw_install_yamls_defaults': cifmw_install_yamls_defaults 2025-10-01 13:47:28.645460 | controller | } | to_nice_yaml 2025-10-01 13:47:28.645466 | controller | }}, mode=0644] *** 2025-10-01 13:47:28.645472 | controller | Wednesday 01 October 2025 13:47:28 +0000 (0:00:00.039) 0:01:04.612 ***** 2025-10-01 13:47:28.645487 | controller | changed: [localhost] 2025-10-01 13:47:28.686949 | controller | 2025-10-01 13:47:28.687032 | controller | TASK [install_yamls : Create empty cifmw_install_yamls_environment if needed cifmw_install_yamls_environment={}] *** 2025-10-01 13:47:28.687054 | controller | Wednesday 01 October 2025 13:47:28 +0000 (0:00:00.428) 0:01:05.040 ***** 2025-10-01 13:47:28.687077 | controller | skipping: [localhost] 2025-10-01 13:47:29.111728 | controller | 2025-10-01 13:47:29.111767 | 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-10-01 13:47:29.111777 | controller | Wednesday 01 October 2025 13:47:28 +0000 (0:00:00.041) 0:01:05.082 ***** 2025-10-01 13:47:29.111789 | controller | changed: [localhost] 2025-10-01 13:47:29.142954 | controller | 2025-10-01 13:47:29.142994 | 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-10-01 13:47:29.143003 | controller | Wednesday 01 October 2025 13:47:29 +0000 (0:00:00.425) 0:01:05.507 ***** 2025-10-01 13:47:29.143014 | controller | ok: [localhost] 2025-10-01 13:47:29.701347 | controller | 2025-10-01 13:47:29.701384 | 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-10-01 13:47:29.701392 | controller | Wednesday 01 October 2025 13:47:29 +0000 (0:00:00.031) 0:01:05.538 ***** 2025-10-01 13:47:29.701426 | controller | changed: [localhost] 2025-10-01 13:47:29.755143 | controller | 2025-10-01 13:47:29.755180 | controller | PLAY [Install deps and prepare for KUTTL run] ********************************** 2025-10-01 13:47:29.755188 | controller | 2025-10-01 13:47:29.755194 | controller | TASK [Download install_yamls deps name=install_yamls_makes, tasks_from=make_download_tools] *** 2025-10-01 13:47:29.755201 | controller | Wednesday 01 October 2025 13:47:29 +0000 (0:00:00.558) 0:01:06.097 ***** 2025-10-01 13:47:29.755212 | controller | 2025-10-01 13:47:29.780627 | controller | TASK [install_yamls_makes : Debug make_download_tools_env var=make_download_tools_env] *** 2025-10-01 13:47:29.780661 | controller | Wednesday 01 October 2025 13:47:29 +0000 (0:00:00.053) 0:01:06.150 ***** 2025-10-01 13:47:29.780674 | controller | skipping: [localhost] 2025-10-01 13:47:29.808443 | controller | 2025-10-01 13:47:29.808479 | controller | TASK [install_yamls_makes : Debug make_download_tools_params var=make_download_tools_params] *** 2025-10-01 13:47:29.808487 | controller | Wednesday 01 October 2025 13:47:29 +0000 (0:00:00.025) 0:01:06.176 ***** 2025-10-01 13:47:29.808498 | controller | skipping: [localhost] 2025-10-01 13:48:06.441493 | controller | 2025-10-01 13:48:06.441590 | 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-10-01 13:48:06.441599 | controller | Wednesday 01 October 2025 13:47:29 +0000 (0:00:00.027) 0:01:06.204 ***** 2025-10-01 13:48:06.441610 | controller | [WARNING]: conditional statements should not include jinja2 templating 2025-10-01 13:48:06.455484 | controller | delimiters such as {{ }} or {% %}. Found: {{ make_download_tools_until | 2025-10-01 13:48:06.455532 | controller | default(true) }} 2025-10-01 13:48:06.455548 | controller | Follow script's output here: /home/zuul/ci-framework-data/logs/ci_script_000_run_download.log 2025-10-01 13:48:06.522232 | controller | changed: [localhost] 2025-10-01 13:48:06.522305 | controller | 2025-10-01 13:48:06.522314 | controller | TASK [Login into Openshift cluster name=openshift_login] *********************** 2025-10-01 13:48:06.522322 | controller | Wednesday 01 October 2025 13:48:06 +0000 (0:00:36.647) 0:01:42.851 ***** 2025-10-01 13:48:06.522339 | controller | 2025-10-01 13:48:06.740907 | controller | TASK [openshift_login : Ensure output directory exists path={{ cifmw_openshift_login_basedir }}/artifacts, state=directory, mode=0755] *** 2025-10-01 13:48:06.740973 | controller | Wednesday 01 October 2025 13:48:06 +0000 (0:00:00.066) 0:01:42.917 ***** 2025-10-01 13:48:06.740991 | controller | ok: [localhost] 2025-10-01 13:48:06.780305 | controller | 2025-10-01 13:48:06.780342 | controller | TASK [openshift_login : OpenShift login _raw_params=login.yml] ***************** 2025-10-01 13:48:06.780351 | controller | Wednesday 01 October 2025 13:48:06 +0000 (0:00:00.218) 0:01:43.136 ***** 2025-10-01 13:48:06.780362 | controller | included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/openshift_login/tasks/login.yml for localhost 2025-10-01 13:48:06.810119 | controller | 2025-10-01 13:48:06.810162 | controller | TASK [openshift_login : Check if the password file is present path={{ cifmw_openshift_login_password_file | default(cifmw_openshift_password_file) }}] *** 2025-10-01 13:48:06.810172 | controller | Wednesday 01 October 2025 13:48:06 +0000 (0:00:00.039) 0:01:43.175 ***** 2025-10-01 13:48:06.810195 | controller | skipping: [localhost] 2025-10-01 13:48:06.839259 | controller | 2025-10-01 13:48:06.839302 | controller | TASK [openshift_login : Fetch user password content src={{ cifmw_openshift_login_password_file | default(cifmw_openshift_password_file) }}] *** 2025-10-01 13:48:06.839311 | controller | Wednesday 01 October 2025 13:48:06 +0000 (0:00:00.029) 0:01:43.205 ***** 2025-10-01 13:48:06.839325 | controller | skipping: [localhost] 2025-10-01 13:48:06.878794 | controller | 2025-10-01 13:48:06.878861 | 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-10-01 13:48:06.878869 | controller | Wednesday 01 October 2025 13:48:06 +0000 (0:00:00.029) 0:01:43.234 ***** 2025-10-01 13:48:06.878887 | controller | skipping: [localhost] 2025-10-01 13:48:06.913240 | controller | 2025-10-01 13:48:06.913275 | controller | TASK [openshift_login : Set role variables cifmw_openshift_login_kubeconfig={{ 2025-10-01 13:48:06.913283 | controller | cifmw_openshift_login_kubeconfig | 2025-10-01 13:48:06.913289 | controller | default(cifmw_openshift_kubeconfig) | 2025-10-01 13:48:06.913295 | controller | default( 2025-10-01 13:48:06.913302 | controller | ansible_env.KUBECONFIG if 'KUBECONFIG' in ansible_env else 2025-10-01 13:48:06.913308 | controller | cifmw_openshift_login_kubeconfig_default_path 2025-10-01 13:48:06.913314 | controller | ) | trim 2025-10-01 13:48:06.913321 | 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-10-01 13:48:06.913329 | controller | Wednesday 01 October 2025 13:48:06 +0000 (0:00:00.033) 0:01:43.268 ***** 2025-10-01 13:48:06.913340 | controller | ok: [localhost] 2025-10-01 13:48:07.091742 | controller | 2025-10-01 13:48:07.091788 | controller | TASK [openshift_login : Check if kubeconfig exists path={{ cifmw_openshift_login_kubeconfig }}] *** 2025-10-01 13:48:07.091797 | controller | Wednesday 01 October 2025 13:48:06 +0000 (0:00:00.040) 0:01:43.308 ***** 2025-10-01 13:48:07.091809 | controller | ok: [localhost] 2025-10-01 13:48:07.121074 | controller | 2025-10-01 13:48:07.121133 | 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-10-01 13:48:07.121144 | controller | (cifmw_openshift_login_user is defined) and 2025-10-01 13:48:07.121153 | controller | (cifmw_openshift_login_password is defined) and 2025-10-01 13:48:07.121161 | controller | (cifmw_openshift_login_api is defined) 2025-10-01 13:48:07.121170 | controller | ), msg=If an existing kubeconfig is not provided user/pwd or provided/initial token and API URL must be given] *** 2025-10-01 13:48:07.121177 | controller | Wednesday 01 October 2025 13:48:07 +0000 (0:00:00.178) 0:01:43.487 ***** 2025-10-01 13:48:07.121199 | controller | ok: [localhost] => 2025-10-01 13:48:07.152001 | controller | changed: false 2025-10-01 13:48:07.152048 | controller | msg: All assertions passed 2025-10-01 13:48:07.152060 | controller | 2025-10-01 13:48:07.152071 | controller | TASK [openshift_login : Fetch kubeconfig content src={{ cifmw_openshift_login_kubeconfig }}] *** 2025-10-01 13:48:07.152086 | controller | Wednesday 01 October 2025 13:48:07 +0000 (0:00:00.029) 0:01:43.516 ***** 2025-10-01 13:48:07.152103 | controller | skipping: [localhost] 2025-10-01 13:48:07.179649 | controller | 2025-10-01 13:48:07.179688 | controller | TASK [openshift_login : Fetch x509 key based users cifmw_openshift_login_key_based_users={{ 2025-10-01 13:48:07.179696 | controller | ( 2025-10-01 13:48:07.179703 | controller | cifmw_openshift_login_kubeconfig_content_b64.content | 2025-10-01 13:48:07.179709 | controller | b64decode | 2025-10-01 13:48:07.179715 | controller | from_yaml 2025-10-01 13:48:07.179721 | controller | ). users | default([]) | 2025-10-01 13:48:07.179727 | controller | selectattr('user.client-certificate-data', 'defined') | 2025-10-01 13:48:07.179733 | controller | map(attribute="name") | 2025-10-01 13:48:07.179740 | controller | map("split", "/") | 2025-10-01 13:48:07.179746 | controller | map("first") 2025-10-01 13:48:07.179751 | controller | }}, cacheable=True] *** 2025-10-01 13:48:07.179757 | controller | Wednesday 01 October 2025 13:48:07 +0000 (0:00:00.031) 0:01:43.547 ***** 2025-10-01 13:48:07.179770 | controller | skipping: [localhost] 2025-10-01 13:48:07.210600 | controller | 2025-10-01 13:48:07.210652 | controller | TASK [openshift_login : Assign key based user if not provided and available cifmw_openshift_login_user={{ 2025-10-01 13:48:07.210665 | controller | (cifmw_openshift_login_assume_cert_system_user | ternary('system:', '')) + 2025-10-01 13:48:07.210673 | controller | (cifmw_openshift_login_key_based_users | map('replace', 'system:', '') | unique | first) 2025-10-01 13:48:07.210681 | controller | }}, cifmw_openshift_login_cert_login=True, cacheable=True] *** 2025-10-01 13:48:07.210689 | controller | Wednesday 01 October 2025 13:48:07 +0000 (0:00:00.027) 0:01:43.575 ***** 2025-10-01 13:48:07.210704 | controller | skipping: [localhost] 2025-10-01 13:48:07.243134 | controller | 2025-10-01 13:48:07.243176 | controller | TASK [openshift_login : Set the retry count cifmw_openshift_login_retries_cnt={{ 2025-10-01 13:48:07.243186 | controller | 0 if cifmw_openshift_login_retries_cnt is undefined else 2025-10-01 13:48:07.243194 | controller | cifmw_openshift_login_retries_cnt|int + 1 2025-10-01 13:48:07.243201 | controller | }}] *** 2025-10-01 13:48:07.243208 | controller | Wednesday 01 October 2025 13:48:07 +0000 (0:00:00.030) 0:01:43.605 ***** 2025-10-01 13:48:07.243221 | controller | ok: [localhost] 2025-10-01 13:48:07.274594 | controller | 2025-10-01 13:48:07.274632 | controller | TASK [openshift_login : Fetch token _raw_params=try_login.yml] ***************** 2025-10-01 13:48:07.274641 | controller | Wednesday 01 October 2025 13:48:07 +0000 (0:00:00.032) 0:01:43.638 ***** 2025-10-01 13:48:07.274653 | controller | included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/openshift_login/tasks/try_login.yml for localhost 2025-10-01 13:48:07.561832 | controller | 2025-10-01 13:48:07.561872 | controller | TASK [openshift_login : Try get OpenShift access token _raw_params=oc whoami -t] *** 2025-10-01 13:48:07.561881 | controller | Wednesday 01 October 2025 13:48:07 +0000 (0:00:00.031) 0:01:43.670 ***** 2025-10-01 13:48:07.561893 | controller | task path: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/openshift_login/tasks/try_login.yml:17 2025-10-01 13:48:08.002537 | controller | fatal: [localhost]: FAILED! => 2025-10-01 13:48:08.002582 | controller | changed: true 2025-10-01 13:48:08.002592 | controller | cmd: 2025-10-01 13:48:08.002599 | controller | - oc 2025-10-01 13:48:08.002607 | controller | - whoami 2025-10-01 13:48:08.002615 | controller | - -t 2025-10-01 13:48:08.002625 | controller | delta: '0:00:00.105536' 2025-10-01 13:48:08.002631 | controller | end: '2025-10-01 13:48:07.536148' 2025-10-01 13:48:08.002638 | controller | msg: non-zero return code 2025-10-01 13:48:08.002644 | controller | rc: 1 2025-10-01 13:48:08.002650 | controller | start: '2025-10-01 13:48:07.430612' 2025-10-01 13:48:08.002656 | controller | stderr: |- 2025-10-01 13:48:08.002664 | controller | error: Missing or incomplete configuration info. Please point to an existing, complete config file: 2025-10-01 13:48:08.002670 | controller | 2025-10-01 13:48:08.002682 | controller | 2025-10-01 13:48:08.002688 | controller | 1. Via the command-line flag --kubeconfig 2025-10-01 13:48:08.002694 | controller | 2. Via the KUBECONFIG environment variable 2025-10-01 13:48:08.002700 | controller | 3. In your home directory as ~/.kube/config 2025-10-01 13:48:08.002706 | controller | 2025-10-01 13:48:08.002712 | controller | To view or setup config directly use the 'config' command. 2025-10-01 13:48:08.002718 | controller | stderr_lines: 2025-10-01 13:48:08.002724 | controller | - 'error: Missing or incomplete configuration info. Please point to an existing, 2025-10-01 13:48:08.002730 | controller | complete config file:' 2025-10-01 13:48:08.002736 | controller | - '' 2025-10-01 13:48:08.002743 | controller | - '' 2025-10-01 13:48:08.002750 | controller | - ' 1. Via the command-line flag --kubeconfig' 2025-10-01 13:48:08.002758 | controller | - ' 2. Via the KUBECONFIG environment variable' 2025-10-01 13:48:08.002765 | controller | - ' 3. In your home directory as ~/.kube/config' 2025-10-01 13:48:08.002772 | controller | - '' 2025-10-01 13:48:08.002780 | controller | - To view or setup config directly use the 'config' command. 2025-10-01 13:48:08.002787 | controller | stdout: '' 2025-10-01 13:48:08.002794 | controller | stdout_lines: [] 2025-10-01 13:48:08.002801 | controller | ...ignoring 2025-10-01 13:48:08.002808 | controller | 2025-10-01 13:48:08.002816 | 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-10-01 13:48:08.002824 | controller | Wednesday 01 October 2025 13:48:07 +0000 (0:00:00.287) 0:01:43.957 ***** 2025-10-01 13:48:08.002838 | controller | Follow script's output here: /home/zuul/ci-framework-data/logs/ci_script_001_fetch_openshift.log 2025-10-01 13:48:08.029071 | controller | changed: [localhost] 2025-10-01 13:48:08.029115 | controller | 2025-10-01 13:48:08.029125 | controller | TASK [openshift_login : Ensure kubeconfig is provided that=cifmw_openshift_login_kubeconfig != ""] *** 2025-10-01 13:48:08.029156 | controller | Wednesday 01 October 2025 13:48:08 +0000 (0:00:00.440) 0:01:44.398 ***** 2025-10-01 13:48:08.029170 | controller | ok: [localhost] => 2025-10-01 13:48:08.348541 | controller | changed: false 2025-10-01 13:48:08.348580 | controller | msg: All assertions passed 2025-10-01 13:48:08.348588 | controller | 2025-10-01 13:48:08.348594 | controller | TASK [openshift_login : Fetch new OpenShift access token _raw_params=oc whoami -t] *** 2025-10-01 13:48:08.348601 | controller | Wednesday 01 October 2025 13:48:08 +0000 (0:00:00.026) 0:01:44.424 ***** 2025-10-01 13:48:08.348613 | controller | changed: [localhost] 2025-10-01 13:48:08.382062 | controller | 2025-10-01 13:48:08.382106 | controller | TASK [openshift_login : Set new OpenShift token cifmw_openshift_login_token={{ 2025-10-01 13:48:08.382116 | controller | (not cifmw_openshift_login_new_token_out.skipped | default(false)) | 2025-10-01 13:48:08.382126 | controller | ternary(cifmw_openshift_login_new_token_out.stdout, cifmw_openshift_login_whoami_out.stdout) 2025-10-01 13:48:08.382134 | controller | }}, cacheable=True] *** 2025-10-01 13:48:08.382144 | controller | Wednesday 01 October 2025 13:48:08 +0000 (0:00:00.319) 0:01:44.744 ***** 2025-10-01 13:48:08.382159 | controller | ok: [localhost] 2025-10-01 13:48:08.688572 | controller | 2025-10-01 13:48:08.688608 | controller | TASK [openshift_login : Fetch OpenShift API URL _raw_params=oc whoami --show-server=true] *** 2025-10-01 13:48:08.688616 | controller | Wednesday 01 October 2025 13:48:08 +0000 (0:00:00.033) 0:01:44.777 ***** 2025-10-01 13:48:08.688628 | controller | changed: [localhost] 2025-10-01 13:48:09.010063 | controller | 2025-10-01 13:48:09.010097 | controller | TASK [openshift_login : Fetch OpenShift kubeconfig context _raw_params=oc whoami -c] *** 2025-10-01 13:48:09.010105 | controller | Wednesday 01 October 2025 13:48:08 +0000 (0:00:00.306) 0:01:45.084 ***** 2025-10-01 13:48:09.010116 | controller | changed: [localhost] 2025-10-01 13:48:09.334818 | controller | 2025-10-01 13:48:09.334878 | controller | TASK [openshift_login : Fetch OpenShift current user _raw_params=oc whoami] **** 2025-10-01 13:48:09.334897 | controller | Wednesday 01 October 2025 13:48:09 +0000 (0:00:00.321) 0:01:45.405 ***** 2025-10-01 13:48:09.334913 | controller | changed: [localhost] 2025-10-01 13:48:09.375591 | controller | 2025-10-01 13:48:09.375628 | 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-10-01 13:48:09.375638 | controller | combine({'KUBECONFIG': cifmw_openshift_login_kubeconfig}) 2025-10-01 13:48:09.375645 | controller | ) if cifmw_install_yamls_environment is defined else omit 2025-10-01 13:48:09.375651 | controller | }}, cacheable=True] *** 2025-10-01 13:48:09.375657 | controller | Wednesday 01 October 2025 13:48:09 +0000 (0:00:00.324) 0:01:45.730 ***** 2025-10-01 13:48:09.375668 | controller | ok: [localhost] 2025-10-01 13:48:09.832125 | controller | 2025-10-01 13:48:09.832191 | 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-10-01 13:48:09.832201 | controller | Wednesday 01 October 2025 13:48:09 +0000 (0:00:00.040) 0:01:45.771 ***** 2025-10-01 13:48:09.832215 | controller | changed: [localhost] 2025-10-01 13:48:10.168946 | controller | 2025-10-01 13:48:10.168990 | 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-10-01 13:48:10.169000 | controller | Wednesday 01 October 2025 13:48:09 +0000 (0:00:00.456) 0:01:46.227 ***** 2025-10-01 13:48:10.169015 | controller | ok: [localhost] 2025-10-01 13:48:10.654192 | controller | 2025-10-01 13:48:10.654237 | controller | TASK [openshift_login : Append the KUBECONFIG to the install yamls parameters content={{ 2025-10-01 13:48:10.654247 | controller | cifmw_openshift_login_install_yamls_artifacts_slurp['content'] | b64decode | from_yaml | 2025-10-01 13:48:10.654255 | controller | combine( 2025-10-01 13:48:10.654263 | controller | { 2025-10-01 13:48:10.654270 | controller | 'cifmw_install_yamls_environment': { 2025-10-01 13:48:10.654278 | controller | 'KUBECONFIG': cifmw_openshift_login_kubeconfig 2025-10-01 13:48:10.654308 | controller | } 2025-10-01 13:48:10.654316 | controller | }, recursive=true) | to_nice_yaml 2025-10-01 13:48:10.654325 | controller | }}, dest={{ cifmw_basedir|default(ansible_user_dir ~ '/ci-framework-data') }}/artifacts/parameters/install-yamls-params.yml, mode=0600] *** 2025-10-01 13:48:10.654333 | controller | Wednesday 01 October 2025 13:48:10 +0000 (0:00:00.336) 0:01:46.564 ***** 2025-10-01 13:48:10.654347 | controller | changed: [localhost] 2025-10-01 13:48:10.877760 | controller | 2025-10-01 13:48:10.877843 | controller | TASK [openshift_setup : Ensure output directory exists path={{ cifmw_openshift_setup_basedir }}/artifacts, state=directory, mode=0755] *** 2025-10-01 13:48:10.877855 | controller | Wednesday 01 October 2025 13:48:10 +0000 (0:00:00.485) 0:01:47.049 ***** 2025-10-01 13:48:10.877887 | controller | ok: [localhost] 2025-10-01 13:48:10.916131 | controller | 2025-10-01 13:48:10.916208 | controller | TASK [openshift_setup : Fetch namespaces to create cifmw_openshift_setup_namespaces={{ 2025-10-01 13:48:10.916217 | controller | (( 2025-10-01 13:48:10.916225 | controller | ([cifmw_install_yamls_defaults['NAMESPACE']] + 2025-10-01 13:48:10.916234 | controller | ([cifmw_install_yamls_defaults['OPERATOR_NAMESPACE']] if 'OPERATOR_NAMESPACE' is in cifmw_install_yamls_defaults else []) 2025-10-01 13:48:10.916241 | controller | ) if cifmw_install_yamls_defaults is defined else [] 2025-10-01 13:48:10.916259 | controller | ) + cifmw_openshift_setup_create_namespaces) | unique 2025-10-01 13:48:10.916266 | controller | }}] *** 2025-10-01 13:48:10.916273 | controller | Wednesday 01 October 2025 13:48:10 +0000 (0:00:00.223) 0:01:47.272 ***** 2025-10-01 13:48:10.916291 | controller | ok: [localhost] 2025-10-01 13:48:12.781267 | controller | 2025-10-01 13:48:12.781307 | 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-10-01 13:48:12.781317 | controller | Wednesday 01 October 2025 13:48:10 +0000 (0:00:00.038) 0:01:47.311 ***** 2025-10-01 13:48:12.781331 | controller | changed: [localhost] => (item=openstack) 2025-10-01 13:48:12.805430 | controller | changed: [localhost] => (item=openstack-operators) 2025-10-01 13:48:12.805469 | controller | 2025-10-01 13:48:12.805477 | 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-10-01 13:48:12.805484 | controller | Wednesday 01 October 2025 13:48:12 +0000 (0:00:01.865) 0:01:49.176 ***** 2025-10-01 13:48:12.805495 | controller | skipping: [localhost] 2025-10-01 13:48:12.835046 | controller | 2025-10-01 13:48:12.835090 | 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-10-01 13:48:12.835101 | controller | Wednesday 01 October 2025 13:48:12 +0000 (0:00:00.024) 0:01:49.200 ***** 2025-10-01 13:48:12.835116 | controller | skipping: [localhost] => (item=openstack) 2025-10-01 13:48:12.867778 | controller | skipping: [localhost] => (item=openstack-operators) 2025-10-01 13:48:12.867819 | controller | skipping: [localhost] 2025-10-01 13:48:12.867829 | controller | 2025-10-01 13:48:12.867837 | 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-10-01 13:48:12.867846 | controller | Wednesday 01 October 2025 13:48:12 +0000 (0:00:00.029) 0:01:49.230 ***** 2025-10-01 13:48:12.867861 | controller | skipping: [localhost] 2025-10-01 13:48:12.897240 | controller | 2025-10-01 13:48:12.897278 | 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-10-01 13:48:12.897286 | controller | Wednesday 01 October 2025 13:48:12 +0000 (0:00:00.032) 0:01:49.263 ***** 2025-10-01 13:48:12.897297 | controller | skipping: [localhost] 2025-10-01 13:48:12.924805 | controller | 2025-10-01 13:48:12.924850 | controller | TASK [Ensure we have custom CA installed on host role=install_ca] ************** 2025-10-01 13:48:12.924860 | controller | Wednesday 01 October 2025 13:48:12 +0000 (0:00:00.029) 0:01:49.292 ***** 2025-10-01 13:48:12.924875 | controller | skipping: [localhost] 2025-10-01 13:48:12.955812 | controller | 2025-10-01 13:48:12.955883 | controller | TASK [openshift_setup : Update ca bundle _raw_params=update-ca-trust extract] *** 2025-10-01 13:48:12.955891 | controller | Wednesday 01 October 2025 13:48:12 +0000 (0:00:00.027) 0:01:49.320 ***** 2025-10-01 13:48:12.955920 | controller | skipping: [localhost] 2025-10-01 13:48:12.986371 | controller | 2025-10-01 13:48:12.986465 | controller | TASK [openshift_setup : Slurp CAs file src={{ cifmw_openshift_setup_ca_bundle_path }}] *** 2025-10-01 13:48:12.986474 | controller | Wednesday 01 October 2025 13:48:12 +0000 (0:00:00.030) 0:01:49.351 ***** 2025-10-01 13:48:12.986492 | controller | skipping: [localhost] 2025-10-01 13:48:13.013460 | controller | 2025-10-01 13:48:13.013503 | 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-10-01 13:48:13.013514 | controller | Wednesday 01 October 2025 13:48:12 +0000 (0:00:00.030) 0:01:49.381 ***** 2025-10-01 13:48:13.013529 | controller | skipping: [localhost] 2025-10-01 13:48:13.042065 | controller | 2025-10-01 13:48:13.042103 | 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-10-01 13:48:13.042116 | controller | Wednesday 01 October 2025 13:48:13 +0000 (0:00:00.027) 0:01:49.408 ***** 2025-10-01 13:48:13.042128 | controller | skipping: [localhost] 2025-10-01 13:48:13.069103 | controller | 2025-10-01 13:48:13.069144 | 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-10-01 13:48:13.069155 | controller | Wednesday 01 October 2025 13:48:13 +0000 (0:00:00.028) 0:01:49.437 ***** 2025-10-01 13:48:13.069167 | controller | skipping: [localhost] 2025-10-01 13:48:13.097726 | controller | 2025-10-01 13:48:13.097771 | 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-10-01 13:48:13.097783 | controller | Wednesday 01 October 2025 13:48:13 +0000 (0:00:00.027) 0:01:49.464 ***** 2025-10-01 13:48:13.097797 | controller | skipping: [localhost] 2025-10-01 13:48:13.129454 | controller | 2025-10-01 13:48:13.129497 | controller | TASK [openshift_setup : Metal3 tweaks _raw_params=metal3_config.yml] *********** 2025-10-01 13:48:13.129508 | controller | Wednesday 01 October 2025 13:48:13 +0000 (0:00:00.028) 0:01:49.493 ***** 2025-10-01 13:48:13.129522 | controller | included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/openshift_setup/tasks/metal3_config.yml for localhost 2025-10-01 13:48:13.149807 | controller | 2025-10-01 13:48:13.149845 | controller | TASK [openshift_setup : Fetch Metal3 configuration name _raw_params=oc get Provisioning -o name] *** 2025-10-01 13:48:13.149853 | controller | Wednesday 01 October 2025 13:48:13 +0000 (0:00:00.031) 0:01:49.525 ***** 2025-10-01 13:48:13.149865 | controller | skipping: [localhost] 2025-10-01 13:48:13.171891 | controller | 2025-10-01 13:48:13.171940 | controller | TASK [openshift_setup : Apply the patch to Metal3 Provisioning _raw_params=oc patch {{ _cifmw_openshift_setup_provisioning_name.stdout }} --type='json' -p='[{"op": "replace", "path": "/spec/watchAllNamespaces", "value": true}]'] *** 2025-10-01 13:48:13.171950 | controller | Wednesday 01 October 2025 13:48:13 +0000 (0:00:00.020) 0:01:49.545 ***** 2025-10-01 13:48:13.171972 | controller | skipping: [localhost] 2025-10-01 13:48:14.237509 | controller | 2025-10-01 13:48:14.237545 | 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-10-01 13:48:14.237555 | controller | Wednesday 01 October 2025 13:48:13 +0000 (0:00:00.022) 0:01:49.567 ***** 2025-10-01 13:48:14.237568 | controller | ok: [localhost] 2025-10-01 13:48:15.257895 | controller | 2025-10-01 13:48:15.257945 | 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-10-01 13:48:15.257955 | controller | Wednesday 01 October 2025 13:48:14 +0000 (0:00:01.065) 0:01:50.633 ***** 2025-10-01 13:48:15.257968 | controller | changed: [localhost] 2025-10-01 13:48:16.040779 | controller | 2025-10-01 13:48:16.040821 | 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-10-01 13:48:16.040830 | controller | Wednesday 01 October 2025 13:48:15 +0000 (0:00:01.020) 0:01:51.653 ***** 2025-10-01 13:48:16.040843 | controller | changed: [localhost] 2025-10-01 13:48:16.063287 | controller | 2025-10-01 13:48:16.063323 | 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-10-01 13:48:16.063331 | controller | Wednesday 01 October 2025 13:48:16 +0000 (0:00:00.782) 0:01:52.436 ***** 2025-10-01 13:48:16.063343 | controller | skipping: [localhost] 2025-10-01 13:48:16.092834 | controller | 2025-10-01 13:48:16.092870 | 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-10-01 13:48:16.092878 | controller | Wednesday 01 October 2025 13:48:16 +0000 (0:00:00.022) 0:01:52.458 ***** 2025-10-01 13:48:16.092889 | controller | skipping: [localhost] 2025-10-01 13:48:16.207723 | controller | 2025-10-01 13:48:16.207775 | controller | TASK [Attach default network to CRC name=install_yamls_makes, tasks_from=make_crc_attach_default_interface] *** 2025-10-01 13:48:16.207787 | controller | Wednesday 01 October 2025 13:48:16 +0000 (0:00:00.029) 0:01:52.488 ***** 2025-10-01 13:48:16.207802 | controller | 2025-10-01 13:48:16.234120 | controller | TASK [install_yamls_makes : Debug make_crc_attach_default_interface_env var=make_crc_attach_default_interface_env] *** 2025-10-01 13:48:16.234155 | controller | Wednesday 01 October 2025 13:48:16 +0000 (0:00:00.114) 0:01:52.603 ***** 2025-10-01 13:48:16.234170 | controller | skipping: [localhost] 2025-10-01 13:48:16.262291 | controller | 2025-10-01 13:48:16.262334 | controller | TASK [install_yamls_makes : Debug make_crc_attach_default_interface_params var=make_crc_attach_default_interface_params] *** 2025-10-01 13:48:16.262344 | controller | Wednesday 01 October 2025 13:48:16 +0000 (0:00:00.026) 0:01:52.629 ***** 2025-10-01 13:48:16.262359 | controller | skipping: [localhost] 2025-10-01 13:48:21.464225 | controller | 2025-10-01 13:48:21.464291 | 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-10-01 13:48:21.464464 | controller | Wednesday 01 October 2025 13:48:16 +0000 (0:00:00.027) 0:01:52.657 ***** 2025-10-01 13:48:21.464488 | controller | [WARNING]: conditional statements should not include jinja2 templating 2025-10-01 13:48:21.482741 | controller | delimiters such as {{ }} or {% %}. Found: {{ 2025-10-01 13:48:21.482782 | controller | make_crc_attach_default_interface_until | default(true) }} 2025-10-01 13:48:21.482796 | controller | Follow script's output here: /home/zuul/ci-framework-data/logs/ci_script_002_run_crc_attach_default.log 2025-10-01 13:48:21.546958 | controller | changed: [localhost] 2025-10-01 13:48:21.547005 | controller | 2025-10-01 13:48:21.547014 | 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-10-01 13:48:21.547023 | controller | Wednesday 01 October 2025 13:48:21 +0000 (0:00:05.220) 0:01:57.878 ***** 2025-10-01 13:48:21.547037 | controller | ok: [localhost] 2025-10-01 13:48:21.635015 | controller | 2025-10-01 13:48:21.635054 | 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-10-01 13:48:21.635062 | controller | Wednesday 01 October 2025 13:48:21 +0000 (0:00:00.064) 0:01:57.942 ***** 2025-10-01 13:48:21.635074 | controller | ok: [localhost] 2025-10-01 13:48:21.727584 | controller | 2025-10-01 13:48:21.727645 | controller | TASK [run_hook : Loop on hooks for pre_kuttl _raw_params={{ hook.type }}.yml] *** 2025-10-01 13:48:21.727653 | controller | Wednesday 01 October 2025 13:48:21 +0000 (0:00:00.088) 0:01:58.030 ***** 2025-10-01 13:48:21.727665 | controller | skipping: [localhost] 2025-10-01 13:48:21.782516 | controller | 2025-10-01 13:48:21.782553 | controller | TASK [Run kuttl tests _raw_params=run-kuttl-tests.yml] ************************* 2025-10-01 13:48:21.782560 | controller | Wednesday 01 October 2025 13:48:21 +0000 (0:00:00.092) 0:01:58.123 ***** 2025-10-01 13:48:21.782572 | controller | included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/run-kuttl-tests.yml for localhost => (item=keystone) 2025-10-01 13:48:21.837925 | controller | 2025-10-01 13:48:21.837972 | controller | TASK [Load parameters dir={{ cifmw_basedir }}/artifacts/parameters] ************ 2025-10-01 13:48:21.837982 | controller | Wednesday 01 October 2025 13:48:21 +0000 (0:00:00.055) 0:01:58.178 ***** 2025-10-01 13:48:21.837997 | controller | ok: [localhost] 2025-10-01 13:48:21.903710 | controller | 2025-10-01 13:48:21.903754 | 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-10-01 13:48:21.903764 | controller | Wednesday 01 October 2025 13:48:21 +0000 (0:00:00.055) 0:01:58.233 ***** 2025-10-01 13:48:21.903787 | controller | ok: [localhost] => (item={'key': 'keystone-operator', 'value': {'git_commit_hash': '0bf30aa672c65d76ab942979d5cc7e063a129ffc', 'git_src_dir': '/home/zuul/src/github.com/openstack-k8s-operators/keystone-operator', 'image': '38.102.83.129:5001/openstack-k8s-operators/keystone-operator:0bf30aa672c65d76ab942979d5cc7e063a129ffc', 'image_bundle': '38.102.83.129:5001/openstack-k8s-operators/keystone-operator-bundle:0bf30aa672c65d76ab942979d5cc7e063a129ffc', 'image_catalog': '38.102.83.129:5001/openstack-k8s-operators/keystone-operator-index:0bf30aa672c65d76ab942979d5cc7e063a129ffc'}}) 2025-10-01 13:48:21.935083 | controller | ok: [localhost] => (item={'key': 'openstack-operator', 'value': {'git_commit_hash': 'bd5d8355e5b007deb3e3833c300596ac2ed7a744', 'git_src_dir': '~/src/github.com/openstack-k8s-operators/openstack-operator', 'image': '38.102.83.129:5001/openstack-k8s-operators/openstack-operator:bd5d8355e5b007deb3e3833c300596ac2ed7a744', 'image_bundle': '38.102.83.129:5001/openstack-k8s-operators/openstack-operator-bundle:bd5d8355e5b007deb3e3833c300596ac2ed7a744', 'image_catalog': '38.102.83.129:5001/openstack-k8s-operators/openstack-operator-index:bd5d8355e5b007deb3e3833c300596ac2ed7a744'}}) 2025-10-01 13:48:21.935125 | controller | 2025-10-01 13:48:21.935133 | controller | TASK [Set environment vars for kuttl test cifmw_kuttl_tests_env={{ 2025-10-01 13:48:21.935140 | controller | _local_operators_indexes | default({}) | 2025-10-01 13:48:21.935146 | controller | combine(cifmw_install_yamls_environment) | 2025-10-01 13:48:21.935152 | controller | combine(cifmw_kuttl_tests_env_vars | default({})) | 2025-10-01 13:48:21.935158 | controller | combine(cifmw_kuttl_openstack_prep_vars | default({})) | 2025-10-01 13:48:21.935164 | controller | combine({'PATH': cifmw_path}) 2025-10-01 13:48:21.935170 | controller | }}] *** 2025-10-01 13:48:21.935176 | controller | Wednesday 01 October 2025 13:48:21 +0000 (0:00:00.065) 0:01:58.299 ***** 2025-10-01 13:48:21.935188 | controller | ok: [localhost] 2025-10-01 13:48:21.976663 | controller | 2025-10-01 13:48:21.976699 | controller | TASK [Clean storage beforehand name=ci_local_storage, tasks_from=cleanup.yml] *** 2025-10-01 13:48:21.976708 | controller | Wednesday 01 October 2025 13:48:21 +0000 (0:00:00.031) 0:01:58.330 ***** 2025-10-01 13:48:21.976719 | controller | 2025-10-01 13:48:22.787078 | 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-10-01 13:48:22.787120 | controller | Wednesday 01 October 2025 13:48:21 +0000 (0:00:00.041) 0:01:58.372 ***** 2025-10-01 13:48:22.787134 | controller | ok: [localhost] 2025-10-01 13:48:22.814375 | controller | 2025-10-01 13:48:22.814442 | controller | TASK [ci_local_storage : Export PVs as facts cifmw_cls_pvs={{ _pv_info.resources | 2025-10-01 13:48:22.814453 | controller | selectattr("metadata.name", "defined") | 2025-10-01 13:48:22.814462 | controller | map(attribute="metadata.name") 2025-10-01 13:48:22.814469 | controller | }}] *** 2025-10-01 13:48:22.814477 | controller | Wednesday 01 October 2025 13:48:22 +0000 (0:00:00.810) 0:01:59.182 ***** 2025-10-01 13:48:22.814491 | controller | ok: [localhost] 2025-10-01 13:48:22.835386 | controller | 2025-10-01 13:48:22.835484 | 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-10-01 13:48:22.835500 | controller | Wednesday 01 October 2025 13:48:22 +0000 (0:00:00.027) 0:01:59.209 ***** 2025-10-01 13:48:22.835533 | controller | skipping: [localhost] 2025-10-01 13:48:23.689778 | controller | 2025-10-01 13:48:23.689826 | 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-10-01 13:48:23.689847 | controller | Wednesday 01 October 2025 13:48:22 +0000 (0:00:00.021) 0:01:59.230 ***** 2025-10-01 13:48:23.689863 | controller | ok: [localhost] 2025-10-01 13:48:25.326430 | controller | 2025-10-01 13:48:25.326475 | controller | TASK [ci_local_storage : Fetch hostnames for all hosts _raw_params=hostname] *** 2025-10-01 13:48:25.326485 | controller | Wednesday 01 October 2025 13:48:23 +0000 (0:00:00.854) 0:02:00.085 ***** 2025-10-01 13:48:25.326500 | controller | [WARNING]: Platform linux on host localhost is using the discovered Python 2025-10-01 13:48:25.338422 | controller | interpreter at /usr/bin/python3.9, but future installation of another Python 2025-10-01 13:48:25.338466 | controller | interpreter could change the meaning of that path. See 2025-10-01 13:48:25.338475 | controller | https://docs.ansible.com/ansible- 2025-10-01 13:48:25.338484 | controller | core/2.15/reference_appendices/interpreter_discovery.html for more information. 2025-10-01 13:48:25.338497 | controller | changed: [localhost -> crc(38.102.83.180)] => (item=crc) 2025-10-01 13:48:25.381628 | controller | changed: [localhost -> controller(38.102.83.144)] => (item=controller) 2025-10-01 13:48:25.381664 | controller | changed: [localhost] => (item=localhost) 2025-10-01 13:48:25.381672 | controller | 2025-10-01 13:48:25.381679 | controller | TASK [ci_local_storage : Set the hosts k8s ansible hosts cifmw_ci_local_storage_k8s_hosts={{ 2025-10-01 13:48:25.381686 | controller | _host_map | 2025-10-01 13:48:25.381693 | controller | selectattr("key", "in", k8s_nodes_hostnames) | 2025-10-01 13:48:25.381704 | controller | map(attribute="value") | 2025-10-01 13:48:25.381710 | controller | list 2025-10-01 13:48:25.381716 | controller | }}, cifmw_ci_local_storage_k8s_hostnames={{ k8s_nodes_hostnames }}] *** 2025-10-01 13:48:25.381722 | controller | Wednesday 01 October 2025 13:48:25 +0000 (0:00:01.648) 0:02:01.733 ***** 2025-10-01 13:48:25.381732 | controller | ok: [localhost] 2025-10-01 13:48:25.419266 | controller | 2025-10-01 13:48:25.419309 | controller | TASK [ci_local_storage : Delete directories on worker node _raw_params=worker_node_dirs.yml] *** 2025-10-01 13:48:25.419319 | controller | Wednesday 01 October 2025 13:48:25 +0000 (0:00:00.043) 0:02:01.777 ***** 2025-10-01 13:48:25.419333 | 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-10-01 13:48:31.407808 | controller | 2025-10-01 13:48:31.407853 | controller | TASK [ci_local_storage : Perform action in the PV directory path={{ 2025-10-01 13:48:31.407860 | controller | [ 2025-10-01 13:48:31.407868 | controller | cifmw_cls_local_storage_name, 2025-10-01 13:48:31.407876 | controller | 'pv'+ ("%02d" | format(item | int)) 2025-10-01 13:48:31.407883 | controller | ] | path_join 2025-10-01 13:48:31.407890 | controller | }}, state={{ 2025-10-01 13:48:31.407898 | controller | 'directory' if cifmw_cls_action == 'create' else 'absent' 2025-10-01 13:48:31.407906 | controller | }}, mode=0775] *** 2025-10-01 13:48:31.407914 | controller | Wednesday 01 October 2025 13:48:25 +0000 (0:00:00.037) 0:02:01.814 ***** 2025-10-01 13:48:31.407928 | controller | ok: [localhost -> crc(38.102.83.180)] => (item=1) 2025-10-01 13:48:42.281380 | controller | ok: [localhost -> crc(38.102.83.180)] => (item=2) 2025-10-01 13:48:42.281473 | controller | ok: [localhost -> crc(38.102.83.180)] => (item=3) 2025-10-01 13:48:42.281482 | controller | ok: [localhost -> crc(38.102.83.180)] => (item=4) 2025-10-01 13:48:42.281488 | controller | ok: [localhost -> crc(38.102.83.180)] => (item=5) 2025-10-01 13:48:42.281494 | controller | ok: [localhost -> crc(38.102.83.180)] => (item=6) 2025-10-01 13:48:42.281500 | controller | ok: [localhost -> crc(38.102.83.180)] => (item=7) 2025-10-01 13:48:42.281506 | controller | ok: [localhost -> crc(38.102.83.180)] => (item=8) 2025-10-01 13:48:42.281512 | controller | ok: [localhost -> crc(38.102.83.180)] => (item=9) 2025-10-01 13:48:42.281518 | controller | ok: [localhost -> crc(38.102.83.180)] => (item=10) 2025-10-01 13:48:42.281524 | controller | ok: [localhost -> crc(38.102.83.180)] => (item=11) 2025-10-01 13:48:42.281530 | controller | ok: [localhost -> crc(38.102.83.180)] => (item=12) 2025-10-01 13:48:42.281536 | controller | 2025-10-01 13:48:42.281543 | 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-10-01 13:48:42.281549 | controller | Wednesday 01 October 2025 13:48:31 +0000 (0:00:05.988) 0:02:07.803 ***** 2025-10-01 13:48:42.281563 | controller | changed: [localhost] 2025-10-01 13:48:42.343216 | controller | 2025-10-01 13:48:42.343294 | controller | TASK [Create storage name=ci_local_storage] ************************************ 2025-10-01 13:48:42.343304 | controller | Wednesday 01 October 2025 13:48:42 +0000 (0:00:10.873) 0:02:18.676 ***** 2025-10-01 13:48:42.343324 | controller | 2025-10-01 13:48:42.562151 | controller | TASK [ci_local_storage : Create role needed directories path={{ cifmw_cls_manifests_dir }}, state=directory, mode=0755] *** 2025-10-01 13:48:42.562190 | controller | Wednesday 01 October 2025 13:48:42 +0000 (0:00:00.061) 0:02:18.738 ***** 2025-10-01 13:48:42.562203 | controller | changed: [localhost] 2025-10-01 13:48:43.420255 | controller | 2025-10-01 13:48:43.420323 | 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-10-01 13:48:43.420333 | controller | Wednesday 01 October 2025 13:48:42 +0000 (0:00:00.218) 0:02:18.957 ***** 2025-10-01 13:48:43.420346 | controller | changed: [localhost] 2025-10-01 13:48:43.856562 | controller | 2025-10-01 13:48:43.856631 | 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-10-01 13:48:43.856651 | controller | Wednesday 01 October 2025 13:48:43 +0000 (0:00:00.858) 0:02:19.815 ***** 2025-10-01 13:48:43.856671 | controller | changed: [localhost] 2025-10-01 13:48:44.714818 | controller | 2025-10-01 13:48:44.714887 | 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-10-01 13:48:44.714895 | controller | Wednesday 01 October 2025 13:48:43 +0000 (0:00:00.436) 0:02:20.251 ***** 2025-10-01 13:48:44.714912 | controller | ok: [localhost] 2025-10-01 13:48:45.761200 | controller | 2025-10-01 13:48:45.761262 | controller | TASK [ci_local_storage : Fetch hostnames for all hosts _raw_params=hostname] *** 2025-10-01 13:48:45.761273 | controller | Wednesday 01 October 2025 13:48:44 +0000 (0:00:00.858) 0:02:21.110 ***** 2025-10-01 13:48:45.761284 | controller | changed: [localhost -> crc(38.102.83.180)] => (item=crc) 2025-10-01 13:48:45.803872 | controller | changed: [localhost -> controller(38.102.83.144)] => (item=controller) 2025-10-01 13:48:45.803909 | controller | changed: [localhost] => (item=localhost) 2025-10-01 13:48:45.803920 | controller | 2025-10-01 13:48:45.803927 | controller | TASK [ci_local_storage : Set the hosts k8s ansible hosts cifmw_ci_local_storage_k8s_hosts={{ 2025-10-01 13:48:45.803933 | controller | _host_map | 2025-10-01 13:48:45.803940 | controller | selectattr("key", "in", k8s_nodes_hostnames) | 2025-10-01 13:48:45.803946 | controller | map(attribute="value") | 2025-10-01 13:48:45.803952 | controller | list 2025-10-01 13:48:45.803958 | controller | }}, cifmw_ci_local_storage_k8s_hostnames={{ k8s_nodes_hostnames }}] *** 2025-10-01 13:48:45.803964 | controller | Wednesday 01 October 2025 13:48:45 +0000 (0:00:01.046) 0:02:22.156 ***** 2025-10-01 13:48:45.803975 | controller | ok: [localhost] 2025-10-01 13:48:46.602113 | controller | 2025-10-01 13:48:46.602222 | 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-10-01 13:48:46.602232 | controller | Wednesday 01 October 2025 13:48:45 +0000 (0:00:00.042) 0:02:22.199 ***** 2025-10-01 13:48:46.602262 | controller | changed: [localhost] 2025-10-01 13:48:46.639237 | controller | 2025-10-01 13:48:46.639276 | controller | TASK [ci_local_storage : Create directories on worker node _raw_params=worker_node_dirs.yml] *** 2025-10-01 13:48:46.639284 | controller | Wednesday 01 October 2025 13:48:46 +0000 (0:00:00.798) 0:02:22.997 ***** 2025-10-01 13:48:46.639296 | 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-10-01 13:48:53.031229 | controller | 2025-10-01 13:48:53.031274 | controller | TASK [ci_local_storage : Perform action in the PV directory path={{ 2025-10-01 13:48:53.031285 | controller | [ 2025-10-01 13:48:53.031293 | controller | cifmw_cls_local_storage_name, 2025-10-01 13:48:53.031302 | controller | 'pv'+ ("%02d" | format(item | int)) 2025-10-01 13:48:53.031309 | controller | ] | path_join 2025-10-01 13:48:53.031317 | controller | }}, state={{ 2025-10-01 13:48:53.031325 | controller | 'directory' if cifmw_cls_action == 'create' else 'absent' 2025-10-01 13:48:53.031333 | controller | }}, mode=0775] *** 2025-10-01 13:48:53.031340 | controller | Wednesday 01 October 2025 13:48:46 +0000 (0:00:00.037) 0:02:23.034 ***** 2025-10-01 13:48:53.031354 | controller | changed: [localhost -> crc(38.102.83.180)] => (item=1) 2025-10-01 13:48:53.521693 | controller | changed: [localhost -> crc(38.102.83.180)] => (item=2) 2025-10-01 13:48:53.521736 | controller | changed: [localhost -> crc(38.102.83.180)] => (item=3) 2025-10-01 13:48:53.521743 | controller | changed: [localhost -> crc(38.102.83.180)] => (item=4) 2025-10-01 13:48:53.521749 | controller | changed: [localhost -> crc(38.102.83.180)] => (item=5) 2025-10-01 13:48:53.521754 | controller | changed: [localhost -> crc(38.102.83.180)] => (item=6) 2025-10-01 13:48:53.521760 | controller | changed: [localhost -> crc(38.102.83.180)] => (item=7) 2025-10-01 13:48:53.521770 | controller | changed: [localhost -> crc(38.102.83.180)] => (item=8) 2025-10-01 13:48:53.521781 | controller | changed: [localhost -> crc(38.102.83.180)] => (item=9) 2025-10-01 13:48:53.521787 | controller | changed: [localhost -> crc(38.102.83.180)] => (item=10) 2025-10-01 13:48:53.521793 | controller | changed: [localhost -> crc(38.102.83.180)] => (item=11) 2025-10-01 13:48:53.521799 | controller | changed: [localhost -> crc(38.102.83.180)] => (item=12) 2025-10-01 13:48:53.521805 | controller | 2025-10-01 13:48:53.521811 | 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-10-01 13:48:53.521818 | controller | Wednesday 01 October 2025 13:48:53 +0000 (0:00:06.391) 0:02:29.426 ***** 2025-10-01 13:48:53.521829 | controller | changed: [localhost] 2025-10-01 13:48:54.546462 | controller | 2025-10-01 13:48:54.546520 | 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-10-01 13:48:54.546530 | controller | Wednesday 01 October 2025 13:48:53 +0000 (0:00:00.490) 0:02:29.917 ***** 2025-10-01 13:48:54.546580 | controller | changed: [localhost] 2025-10-01 13:48:54.572695 | controller | 2025-10-01 13:48:54.572771 | controller | TASK [Get resource status before keystone_kuttl run _raw_params={{ item }} >> {{ cifmw_artifacts_basedir }}/logs/cmd_before_{{ operator }}_kuttl.log 2025-10-01 13:48:54.572781 | controller | ] *** 2025-10-01 13:48:54.572789 | controller | Wednesday 01 October 2025 13:48:54 +0000 (0:00:01.024) 0:02:30.941 ***** 2025-10-01 13:48:54.572810 | controller | task path: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/run-kuttl-tests.yml:37 2025-10-01 13:48:54.603242 | controller | fatal: [localhost]: FAILED! => 2025-10-01 13:48:54.603293 | controller | msg: '''commands_before_kuttl_run'' is undefined. ''commands_before_kuttl_run'' is 2025-10-01 13:48:54.603303 | controller | undefined' 2025-10-01 13:48:54.603311 | controller | ...ignoring 2025-10-01 13:48:54.603318 | controller | 2025-10-01 13:48:54.603327 | controller | TASK [Set make_keystone_kuttl_env vars make_{{ operator }}_kuttl_env={{ cifmw_kuttl_tests_env }}] *** 2025-10-01 13:48:54.603335 | controller | Wednesday 01 October 2025 13:48:54 +0000 (0:00:00.026) 0:02:30.968 ***** 2025-10-01 13:48:54.603350 | controller | ok: [localhost] 2025-10-01 13:48:54.660663 | controller | 2025-10-01 13:48:54.660701 | controller | TASK [Run make_keystone_kuttl name=install_yamls_makes, tasks_from=make_{{ operator }}_kuttl.yml, apply={'ignore_errors': True}] *** 2025-10-01 13:48:54.660709 | controller | Wednesday 01 October 2025 13:48:54 +0000 (0:00:00.030) 0:02:30.998 ***** 2025-10-01 13:48:54.660720 | controller | 2025-10-01 13:48:54.695600 | controller | TASK [install_yamls_makes : Debug make_keystone_kuttl_env var=make_keystone_kuttl_env] *** 2025-10-01 13:48:54.695645 | controller | Wednesday 01 October 2025 13:48:54 +0000 (0:00:00.057) 0:02:31.056 ***** 2025-10-01 13:48:54.695662 | controller | ok: [localhost] => 2025-10-01 13:48:54.728528 | controller | make_keystone_kuttl_env: 2025-10-01 13:48:54.728601 | controller | BMO_SETUP: false 2025-10-01 13:48:54.728608 | controller | CHECKOUT_FROM_OPENSTACK_REF: 'true' 2025-10-01 13:48:54.728615 | controller | KEYSTONE_BRANCH: '' 2025-10-01 13:48:54.728622 | controller | KEYSTONE_IMG: 38.102.83.129:5001/openstack-k8s-operators/keystone-operator-index:0bf30aa672c65d76ab942979d5cc7e063a129ffc 2025-10-01 13:48:54.728628 | controller | KEYSTONE_REPO: /home/zuul/src/github.com/openstack-k8s-operators/keystone-operator 2025-10-01 13:48:54.728634 | controller | KUBECONFIG: /home/zuul/.crc/machines/crc/kubeconfig 2025-10-01 13:48:54.728640 | controller | OPENSTACK_IMG: 38.102.83.129:5001/openstack-k8s-operators/openstack-operator-index:bd5d8355e5b007deb3e3833c300596ac2ed7a744 2025-10-01 13:48:54.728646 | controller | OPENSTACK_K8S_BRANCH: main 2025-10-01 13:48:54.728652 | controller | OUT: /home/zuul/ci-framework-data/artifacts/manifests 2025-10-01 13:48:54.728658 | controller | OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm 2025-10-01 13:48:54.728664 | 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-10-01 13:48:54.728680 | controller | 2025-10-01 13:48:54.728686 | controller | TASK [install_yamls_makes : Debug make_keystone_kuttl_params var=make_keystone_kuttl_params] *** 2025-10-01 13:48:54.728692 | controller | Wednesday 01 October 2025 13:48:54 +0000 (0:00:00.034) 0:02:31.091 ***** 2025-10-01 13:48:54.728708 | controller | skipping: [localhost] 2025-10-01 14:13:50.768217 | controller | 2025-10-01 14:13:50.768349 | 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-10-01 14:13:50.768358 | controller | Wednesday 01 October 2025 13:48:54 +0000 (0:00:00.032) 0:02:31.123 ***** 2025-10-01 14:13:50.768375 | controller | [WARNING]: conditional statements should not include jinja2 templating 2025-10-01 14:13:50.962946 | controller | delimiters such as {{ }} or {% %}. Found: {{ make_keystone_kuttl_until | 2025-10-01 14:13:50.963008 | controller | default(true) }} 2025-10-01 14:13:50.963025 | controller | Follow script's output here: /home/zuul/ci-framework-data/logs/ci_script_003_run_keystone.log 2025-10-01 14:13:50.963065 | controller | An exception occurred during task execution. To see the full traceback, use -vvv. The error was: NoneType: None 2025-10-01 14:13:50.963075 | controller | task path: /home/zuul/ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone_kuttl.yml:10 2025-10-01 14:13:50.963086 | controller | fatal: [localhost]: FAILED! => 2025-10-01 14:13:50.963094 | controller | attempts: 1 2025-10-01 14:13:50.963101 | controller | changed: true 2025-10-01 14:13:50.963109 | controller | msg: non-zero return code 2025-10-01 14:13:50.963116 | controller | rc: 2 2025-10-01 14:13:50.963123 | controller | stderr: '' 2025-10-01 14:13:50.963131 | controller | stderr_lines: [] 2025-10-01 14:13:50.963140 | controller | stdout: "~/src/github.com/openstack-k8s-operators/install_yamls ~/ci-framework-data/artifacts\nerror: 2025-10-01 14:13:50.963148 | controller | the server doesn't have a resource type \"openstackversion\"\nbash scripts/gen-namespace.sh\n+ 2025-10-01 14:13:50.963157 | controller | '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z keystone-kuttl-tests 2025-10-01 14:13:50.963165 | controller | ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests\n+ 2025-10-01 14:13:50.963173 | controller | '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests 2025-10-01 14:13:50.963180 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests\n+ 2025-10-01 14:13:50.963187 | controller | cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml\nnamespace/keystone-kuttl-tests 2025-10-01 14:13:50.963195 | controller | created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io 2025-10-01 14:13:50.963209 | controller | keystone-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nkeystone-kuttl-tests 2025-10-01 14:13:50.963216 | controller | \ Active\noc project keystone-kuttl-tests\nNow using project \"keystone-kuttl-tests\" 2025-10-01 14:13:50.963223 | controller | on server \"https://api.crc.testing:6443\".\nbash scripts/gen-input-kustomize.sh\n+ 2025-10-01 14:13:50.963234 | controller | OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z keystone-kuttl-tests 2025-10-01 14:13:50.963242 | controller | ']'\n+ '[' -z osp-secret ']'\n+ '[' -z 12345678 ']'\n+ '[' -z 1234567842 ']'\n+ 2025-10-01 14:13:50.963249 | controller | '[' -z 767c3ed056cbaa3b9dfedb8c6f825bf0 ']'\n+ '[' -z sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= 2025-10-01 14:13:50.963256 | controller | ']'\n+ '[' -z COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f ']'\n+ '[' -z openstack ']'\n+ '[' 2025-10-01 14:13:50.963264 | controller | -z libvirt-secret ']'\n+ DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input\n+ 2025-10-01 14:13:50.963272 | controller | '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input 2025-10-01 14:13:50.963311 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input\n+ 2025-10-01 14:13:50.963319 | controller | pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input\n~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input 2025-10-01 14:13:50.963329 | controller | ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\noc get secret/osp-secret 2025-10-01 14:13:50.963336 | controller | || oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input 2025-10-01 14:13:50.963343 | controller | | oc apply -f -\nError from server (NotFound): secrets \"osp-secret\" not found\nsecret/libvirt-secret 2025-10-01 14:13:50.963351 | controller | created\nsecret/octavia-ca-passphrase created\nsecret/osp-secret created\noc kustomize 2025-10-01 14:13:50.963358 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr 2025-10-01 14:13:50.963365 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-10-01 14:13:50.963372 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr' 2025-10-01 14:13:50.963380 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila: 2025-10-01 14:13:50.963389 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator 2025-10-01 14:13:50.963396 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr\noc 2025-10-01 14:13:50.963430 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-10-01 14:13:50.963438 | controller | database if exists manila;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-10-01 14:13:50.963445 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr 2025-10-01 14:13:50.963452 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-10-01 14:13:50.963459 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr' 2025-10-01 14:13:50.963467 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat: 2025-10-01 14:13:50.963475 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator 2025-10-01 14:13:50.963483 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr\noc 2025-10-01 14:13:50.963490 | controller | kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr 2025-10-01 14:13:50.963503 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-10-01 14:13:50.963511 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr' 2025-10-01 14:13:50.963519 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon: 2025-10-01 14:13:50.963526 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator 2025-10-01 14:13:50.963534 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr\noc 2025-10-01 14:13:50.963541 | controller | kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr 2025-10-01 14:13:50.963548 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-10-01 14:13:50.963555 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr' 2025-10-01 14:13:50.963563 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova: 2025-10-01 14:13:50.963586 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator 2025-10-01 14:13:50.963599 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr\noc 2025-10-01 14:13:50.963606 | controller | rsh openstack-galera-0 mysql -u root --password=12345678 -ss -e \"show databases 2025-10-01 14:13:50.963614 | controller | like 'nova_%';\" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12345678 2025-10-01 14:13:50.963621 | controller | -ss -e \"flush tables; drop database if exists {};\"\nError from server (NotFound): 2025-10-01 14:13:50.963628 | controller | pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr 2025-10-01 14:13:50.963636 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-10-01 14:13:50.963643 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr' 2025-10-01 14:13:50.963650 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis: 2025-10-01 14:13:50.963660 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis 2025-10-01 14:13:50.963667 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr\noc 2025-10-01 14:13:50.963674 | controller | kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr 2025-10-01 14:13:50.963681 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-10-01 14:13:50.963688 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr' 2025-10-01 14:13:50.963695 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia: 2025-10-01 14:13:50.963703 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator 2025-10-01 14:13:50.963712 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr\noc 2025-10-01 14:13:50.963719 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-10-01 14:13:50.963726 | controller | database if exists octavia;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-10-01 14:13:50.963734 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr 2025-10-01 14:13:50.963741 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-10-01 14:13:50.963748 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr' 2025-10-01 14:13:50.963755 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate: 2025-10-01 14:13:50.963762 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator 2025-10-01 14:13:50.963769 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr\noc 2025-10-01 14:13:50.963777 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-10-01 14:13:50.963784 | controller | database if exists designate;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-10-01 14:13:50.963791 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr 2025-10-01 14:13:50.963798 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-10-01 14:13:50.963806 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr' 2025-10-01 14:13:50.963817 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron: 2025-10-01 14:13:50.963828 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator 2025-10-01 14:13:50.963835 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr\noc 2025-10-01 14:13:50.963842 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-10-01 14:13:50.963849 | controller | database if exists neutron;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-10-01 14:13:50.963856 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr 2025-10-01 14:13:50.963863 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-10-01 14:13:50.963871 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr' 2025-10-01 14:13:50.963878 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn: 2025-10-01 14:13:50.963885 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator 2025-10-01 14:13:50.963892 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr\noc 2025-10-01 14:13:50.963901 | controller | kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr 2025-10-01 14:13:50.963908 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-10-01 14:13:50.963915 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr' 2025-10-01 14:13:50.963922 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic: 2025-10-01 14:13:50.963929 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator 2025-10-01 14:13:50.963937 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr\noc 2025-10-01 14:13:50.963944 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-10-01 14:13:50.963951 | controller | database if exists ironic;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-10-01 14:13:50.963958 | controller | not found\noc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush 2025-10-01 14:13:50.963965 | controller | tables; drop database if exists ironic_inspector;\" || true\nError from server (NotFound): 2025-10-01 14:13:50.963973 | controller | pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr 2025-10-01 14:13:50.963980 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-10-01 14:13:50.963987 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr' 2025-10-01 14:13:50.963994 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder: 2025-10-01 14:13:50.964001 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator 2025-10-01 14:13:50.964008 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr\noc 2025-10-01 14:13:50.964015 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-10-01 14:13:50.964022 | controller | database if exists cinder;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-10-01 14:13:50.964030 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr 2025-10-01 14:13:50.964037 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-10-01 14:13:50.964044 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr' 2025-10-01 14:13:50.964054 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance: 2025-10-01 14:13:50.964062 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator 2025-10-01 14:13:50.964069 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr\noc 2025-10-01 14:13:50.964076 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-10-01 14:13:50.964083 | controller | database if exists glance;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-10-01 14:13:50.964090 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr 2025-10-01 14:13:50.964098 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-10-01 14:13:50.964108 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr' 2025-10-01 14:13:50.964116 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement: 2025-10-01 14:13:50.964123 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator 2025-10-01 14:13:50.964130 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr\noc 2025-10-01 14:13:50.964137 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-10-01 14:13:50.964144 | controller | database if exists placement;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-10-01 14:13:50.964152 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr 2025-10-01 14:13:50.964159 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-10-01 14:13:50.964166 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr' 2025-10-01 14:13:50.964173 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift: 2025-10-01 14:13:50.964180 | controller | no such file or directory\nNo resources found\nrm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator 2025-10-01 14:13:50.964188 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr\noc 2025-10-01 14:13:50.964195 | controller | kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr 2025-10-01 14:13:50.964202 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-10-01 14:13:50.964209 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr' 2025-10-01 14:13:50.964216 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican: 2025-10-01 14:13:50.964223 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator 2025-10-01 14:13:50.964230 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr\noc 2025-10-01 14:13:50.964238 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-10-01 14:13:50.964245 | controller | database if exists barbican;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-10-01 14:13:50.964252 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-10-01 14:13:50.964259 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-10-01 14:13:50.964266 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr' 2025-10-01 14:13:50.964274 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone: 2025-10-01 14:13:50.964284 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator 2025-10-01 14:13:50.964291 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr\noc 2025-10-01 14:13:50.964298 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-10-01 14:13:50.964306 | controller | database if exists keystone;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-10-01 14:13:50.964313 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-10-01 14:13:50.964320 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-10-01 14:13:50.964327 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr' 2025-10-01 14:13:50.964334 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb: 2025-10-01 14:13:50.964341 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator 2025-10-01 14:13:50.964348 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\noc 2025-10-01 14:13:50.964358 | controller | kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr 2025-10-01 14:13:50.964365 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-10-01 14:13:50.964372 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr' 2025-10-01 14:13:50.964379 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry: 2025-10-01 14:13:50.964387 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator 2025-10-01 14:13:50.964415 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr\nrm 2025-10-01 14:13:50.964426 | controller | -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator 2025-10-01 14:13:50.964433 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr\noc 2025-10-01 14:13:50.964440 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-10-01 14:13:50.964448 | controller | database if exists aodh;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-10-01 14:13:50.964455 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-10-01 14:13:50.964462 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-10-01 14:13:50.964470 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr' 2025-10-01 14:13:50.964477 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra: 2025-10-01 14:13:50.964485 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator 2025-10-01 14:13:50.964492 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\nif 2025-10-01 14:13:50.964499 | controller | oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; 2025-10-01 14:13:50.964506 | 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-10-01 14:13:50.964513 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\nbash 2025-10-01 14:13:50.964521 | controller | scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests 2025-10-01 14:13:50.964532 | controller | ']'\n+ '[' -z openstack-operators ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators\n+ 2025-10-01 14:13:50.964539 | controller | '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators 2025-10-01 14:13:50.964546 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators\n+ 2025-10-01 14:13:50.964554 | controller | cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml\nWarning: 2025-10-01 14:13:50.964562 | controller | resource namespaces/openstack-operators is missing the kubectl.kubernetes.io/last-applied-configuration 2025-10-01 14:13:50.964569 | controller | annotation which is required by oc apply. oc apply should only be used on resources 2025-10-01 14:13:50.964576 | controller | created declaratively by either oc create --save-config or oc apply. The missing 2025-10-01 14:13:50.964584 | controller | annotation will be patched automatically.\nnamespace/openstack-operators configured\ntimeout 2025-10-01 14:13:50.964592 | controller | 500s bash -c \"while ! (oc get project.v1.project.openshift.io openstack-operators); 2025-10-01 14:13:50.964599 | controller | do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nopenstack-operators 2025-10-01 14:13:50.964606 | controller | \ Active\noc project openstack-operators\nNow using project \"openstack-operators\" 2025-10-01 14:13:50.964613 | controller | on server \"https://api.crc.testing:6443\".\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators 2025-10-01 14:13:50.964620 | controller | ']'\n+ '[' -z mariadb ']'\n+ '[' -z quay.io/openstack-k8s-operators/mariadb-operator-index:latest 2025-10-01 14:13:50.964627 | controller | ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-10-01 14:13:50.964634 | controller | ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-10-01 14:13:50.964644 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\n+ 2025-10-01 14:13:50.964651 | controller | OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=mariadb-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ 2025-10-01 14:13:50.964658 | controller | echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\nOPERATOR_DIR 2025-10-01 14:13:50.964665 | controller | /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\n+ 2025-10-01 14:13:50.964671 | controller | echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE mariadb-operator-index\nOPERATOR_SOURCE 2025-10-01 14:13:50.964678 | controller | mariadb-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE 2025-10-01 14:13:50.964685 | 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-10-01 14:13:50.964695 | controller | created\noperatorgroup.operators.coreos.com/openstack created\nsubscription.operators.coreos.com/mariadb-operator 2025-10-01 14:13:50.964715 | controller | created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-10-01 14:13:50.964724 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\nbash 2025-10-01 14:13:50.964732 | controller | scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/openstack-operator.git 2025-10-01 14:13:50.964740 | controller | openstack-operator\nCloning into 'openstack-operator'...\nCloning repo: git clone 2025-10-01 14:13:50.964748 | controller | \ -b main https://github.com/openstack-k8s-operators/mariadb-operator.git mariadb-operator\nCloning 2025-10-01 14:13:50.964756 | controller | into 'mariadb-operator'...\nRunning checkout: git checkout c8fbf68986fa\nNote: switching 2025-10-01 14:13:50.964763 | controller | to 'c8fbf68986fa'.\n\nYou are in 'detached HEAD' state. You can look around, make 2025-10-01 14:13:50.964775 | controller | experimental\nchanges and commit them, and you can discard any commits you make 2025-10-01 14:13:50.964782 | controller | in this\nstate without impacting any branches by switching back to a branch.\n\nIf 2025-10-01 14:13:50.964789 | controller | you want to create a new branch to retain commits you create, you may\ndo so (now 2025-10-01 14:13:50.964797 | controller | or later) by using -c with the switch command. Example:\n\n git switch -c \n\nOr 2025-10-01 14:13:50.964804 | controller | undo this operation with:\n\n git switch -\n\nTurn off this advice by setting config 2025-10-01 14:13:50.964812 | controller | variable advice.detachedHead to false\n\nHEAD is now at c8fbf68 Merge pull request 2025-10-01 14:13:50.964819 | controller | #367 from openstack-k8s-operators/renovate/github.com-onsi-ginkgo-v2-2.x\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml 2025-10-01 14:13:50.964826 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\nbash 2025-10-01 14:13:50.964834 | controller | scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ 2025-10-01 14:13:50.964841 | controller | cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ 2025-10-01 14:13:50.964848 | controller | . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh 2025-10-01 14:13:50.964858 | controller | --source-only\n++ set -e\n+ '[' -z keystone-kuttl-tests ']'\n+ '[' -z Galera ']'\n+ 2025-10-01 14:13:50.964865 | controller | '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-10-01 14:13:50.964873 | controller | ']'\n+ '[' -n '' ']'\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ 2025-10-01 14:13:50.964880 | controller | INTERFACE_MTU=1500\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-10-01 14:13:50.964887 | 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-10-01 14:13:50.964895 | 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-10-01 14:13:50.964902 | controller | ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 2025-10-01 14:13:50.964909 | controller | ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ 2025-10-01 14:13:50.964916 | controller | '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' Galera 2025-10-01 14:13:50.964924 | controller | == OpenStackControlPlane ']'\n+ '[' Galera == Galera ']'\n+ cat\n+ '[' Galera == 2025-10-01 14:13:50.964931 | 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-10-01 14:13:50.964938 | 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-10-01 14:13:50.964946 | controller | ]]\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ 2025-10-01 14:13:50.964953 | controller | find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./mariadb_v1beta1_galera.yaml\n+ 2025-10-01 14:13:50.964961 | controller | for y in ${yamls[@]}\n+ kustomize edit add resource ./mariadb_v1beta1_galera.yaml\n+ 2025-10-01 14:13:50.964968 | controller | popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: 2025-10-01 14:13:50.964976 | controller | Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: 2025-10-01 14:13:50.964984 | controller | the server doesn't have a resource type \"openstackversion\"\nbash scripts/operator-wait.sh\n+ 2025-10-01 14:13:50.964991 | controller | TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ 2025-10-01 14:13:50.964999 | controller | SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ 2025-10-01 14:13:50.965011 | controller | '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq ']'\n+ 2025-10-01 14:13:50.965019 | controller | pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-10-01 14:13:50.965037 | controller | ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until 2025-10-01 14:13:50.965046 | controller | [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ 2025-10-01 14:13:50.965054 | controller | '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster 2025-10-01 14:13:50.965062 | controller | ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators 2025-10-01 14:13:50.965070 | controller | deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError 2025-10-01 14:13:50.965078 | controller | from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" 2025-10-01 14:13:50.965085 | controller | not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-10-01 14:13:50.965093 | controller | ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ 2025-10-01 14:13:50.965101 | controller | oc get -n openstack-operators deployment mariadb-operator-controller-manager -o 2025-10-01 14:13:50.965109 | controller | json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-10-01 14:13:50.965116 | controller | \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-10-01 14:13:50.965123 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb 2025-10-01 14:13:50.965131 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get 2025-10-01 14:13:50.965138 | controller | -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ 2025-10-01 14:13:50.965146 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-10-01 14:13:50.965153 | controller | \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-10-01 14:13:50.965161 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb 2025-10-01 14:13:50.965169 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get 2025-10-01 14:13:50.965176 | controller | -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ 2025-10-01 14:13:50.965184 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-10-01 14:13:50.965194 | controller | \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-10-01 14:13:50.965202 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb 2025-10-01 14:13:50.965210 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get 2025-10-01 14:13:50.965217 | controller | -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ 2025-10-01 14:13:50.965223 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-10-01 14:13:50.965231 | controller | \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-10-01 14:13:50.965238 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb 2025-10-01 14:13:50.965246 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get 2025-10-01 14:13:50.965254 | controller | -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ 2025-10-01 14:13:50.965261 | controller | jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 2025-10-01 14:13:50.965269 | controller | 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster 2025-10-01 14:13:50.965276 | controller | ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators 2025-10-01 14:13:50.965288 | controller | deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ 2025-10-01 14:13:50.965296 | controller | REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ 2025-10-01 14:13:50.965303 | controller | '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ 2025-10-01 14:13:50.965310 | controller | oc get -n openstack-operators deployment mariadb-operator-controller-manager -o 2025-10-01 14:13:50.965318 | controller | json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo 2025-10-01 14:13:50.965325 | controller | Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ 2025-10-01 14:13:50.965333 | controller | exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash 2025-10-01 14:13:50.965340 | controller | scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-10-01 14:13:50.965347 | 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-10-01 14:13:50.965354 | controller | oc apply -f -\ngalera.mariadb.openstack.org/openstack created\n+ '[' 0 -lt 15 ']'\nbash 2025-10-01 14:13:50.965362 | controller | scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests 2025-10-01 14:13:50.965380 | controller | ']'\n+ '[' -z metallb-system ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/metallb-system\n+ 2025-10-01 14:13:50.965389 | controller | '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system ']'\n+ 2025-10-01 14:13:50.965396 | controller | mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system\n+ cat\noc 2025-10-01 14:13:50.965443 | controller | apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml\nnamespace/metallb-system 2025-10-01 14:13:50.965452 | controller | created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io 2025-10-01 14:13:50.965460 | controller | metallb-system); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nmetallb-system 2025-10-01 14:13:50.965467 | controller | \ Active\nbash scripts/gen-olm-metallb.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op 2025-10-01 14:13:50.965475 | controller | ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op 2025-10-01 14:13:50.965482 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\n+ 2025-10-01 14:13:50.965490 | controller | '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr 2025-10-01 14:13:50.965497 | controller | ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr 2025-10-01 14:13:50.965505 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\n+ 2025-10-01 14:13:50.965512 | controller | echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\nOPERATOR_DIR 2025-10-01 14:13:50.965519 | controller | /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\n+ 2025-10-01 14:13:50.965529 | controller | echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\nDEPLOY_DIR 2025-10-01 14:13:50.965536 | controller | /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\n+ echo 2025-10-01 14:13:50.965543 | 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-10-01 14:13:50.965550 | controller | created\nsubscription.operators.coreos.com/metallb-operator-sub created\ntimeout 2025-10-01 14:13:50.965557 | controller | 500s bash -c \"while ! (oc get pod --no-headers=true -l control-plane=controller-manager 2025-10-01 14:13:50.965568 | controller | -n metallb-system| grep metallb-operator-controller); do sleep 10; done\"\nNo resources 2025-10-01 14:13:50.965576 | controller | found in metallb-system namespace.\nNo resources found in metallb-system namespace.\nmetallb-operator-controller-manager-597c4b7b96-2jb5j 2025-10-01 14:13:50.965584 | controller | \ 0/1 ContainerCreating 0 5s\noc wait pod -n metallb-system --for condition=Ready 2025-10-01 14:13:50.965591 | controller | -l control-plane=controller-manager --timeout=500s\npod/metallb-operator-controller-manager-597c4b7b96-2jb5j 2025-10-01 14:13:50.965598 | controller | condition met\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=webhook-server 2025-10-01 14:13:50.965605 | controller | -n metallb-system| grep metallb-operator-webhook); do sleep 10; done\"\nmetallb-operator-webhook-server-7b9b85bd76-p6smt 2025-10-01 14:13:50.965612 | controller | \ 1/1 Running 0 41s\noc wait pod -n metallb-system --for condition=Ready 2025-10-01 14:13:50.965619 | controller | -l component=webhook-server --timeout=500s\npod/metallb-operator-webhook-server-7b9b85bd76-p6smt 2025-10-01 14:13:50.965626 | 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-10-01 14:13:50.965634 | controller | created\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=speaker 2025-10-01 14:13:50.965642 | controller | -n metallb-system | grep speaker); do sleep 10; done\"\nNo resources found in metallb-system 2025-10-01 14:13:50.965650 | controller | namespace.\nspeaker-2nzm9 1/2 Running 0 10s\noc wait pod -n metallb-system 2025-10-01 14:13:50.965657 | controller | -l component=speaker --for condition=Ready --timeout=500s\npod/speaker-2nzm9 condition 2025-10-01 14:13:50.965665 | controller | met\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ 2025-10-01 14:13:50.965672 | controller | '[' -z quay.io/openstack-k8s-operators/infra-operator-index:latest ']'\n+ '[' -z 2025-10-01 14:13:50.965680 | controller | /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']'\n+ 2025-10-01 14:13:50.965689 | controller | '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-10-01 14:13:50.965697 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\n+ 2025-10-01 14:13:50.965705 | controller | OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=infra-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ 2025-10-01 14:13:50.965722 | controller | echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\nOPERATOR_DIR 2025-10-01 14:13:50.965731 | controller | /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\n+ 2025-10-01 14:13:50.965739 | controller | echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE infra-operator-index\nOPERATOR_SOURCE 2025-10-01 14:13:50.965746 | controller | infra-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE 2025-10-01 14:13:50.965754 | 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-10-01 14:13:50.965761 | controller | created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/infra-operator 2025-10-01 14:13:50.965769 | controller | created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-10-01 14:13:50.965776 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\nbash 2025-10-01 14:13:50.965784 | controller | scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/infra-operator.git 2025-10-01 14:13:50.965791 | controller | infra-operator\nCloning into 'infra-operator'...\nRunning checkout: git checkout 2025-10-01 14:13:50.965805 | controller | 51c0fe58c195\nNote: switching to '51c0fe58c195'.\n\nYou are in 'detached HEAD' state. 2025-10-01 14:13:50.965813 | controller | You can look around, make experimental\nchanges and commit them, and you can discard 2025-10-01 14:13:50.965820 | controller | any commits you make in this\nstate without impacting any branches by switching 2025-10-01 14:13:50.965828 | controller | back to a branch.\n\nIf you want to create a new branch to retain commits you create, 2025-10-01 14:13:50.965835 | controller | you may\ndo so (now or later) by using -c with the switch command. Example:\n\n 2025-10-01 14:13:50.965842 | controller | \ git switch -c \n\nOr undo this operation with:\n\n git switch 2025-10-01 14:13:50.965850 | controller | -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD 2025-10-01 14:13:50.965858 | controller | is now at 51c0fe5 Merge pull request #465 from dprince/rabbit_2.16.0\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml 2025-10-01 14:13:50.965865 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\nbash 2025-10-01 14:13:50.965872 | controller | scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ 2025-10-01 14:13:50.965880 | controller | cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ 2025-10-01 14:13:50.965887 | controller | . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh 2025-10-01 14:13:50.965895 | controller | --source-only\n++ set -e\n+ '[' -z keystone-kuttl-tests ']'\n+ '[' -z Memcached 2025-10-01 14:13:50.965903 | controller | ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-10-01 14:13:50.965910 | controller | ']'\n+ '[' -n '' ']'\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ 2025-10-01 14:13:50.965918 | controller | INTERFACE_MTU=1500\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-10-01 14:13:50.965925 | 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-10-01 14:13:50.965933 | controller | ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Memcached == 2025-10-01 14:13:50.965940 | 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-10-01 14:13:50.965947 | controller | -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ 2025-10-01 14:13:50.965955 | controller | (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' 2025-10-01 14:13:50.965962 | controller | unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n memcached ']'\n+ cat\n+ '[' Memcached 2025-10-01 14:13:50.965970 | controller | == OpenStackControlPlane ']'\n+ '[' Memcached == Galera ']'\n+ '[' Memcached == 2025-10-01 14:13:50.965977 | 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-10-01 14:13:50.965984 | 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-10-01 14:13:50.965992 | controller | ]]\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ 2025-10-01 14:13:50.966001 | controller | find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./memcached_v1beta1_memcached.yaml\n+ 2025-10-01 14:13:50.966009 | controller | for y in ${yamls[@]}\n+ kustomize edit add resource ./memcached_v1beta1_memcached.yaml\n+ 2025-10-01 14:13:50.966017 | controller | popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: 2025-10-01 14:13:50.966033 | controller | Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: 2025-10-01 14:13:50.966042 | controller | the server doesn't have a resource type \"openstackversion\"\nbash scripts/operator-wait.sh\n+ 2025-10-01 14:13:50.966050 | controller | TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ 2025-10-01 14:13:50.966062 | controller | SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ 2025-10-01 14:13:50.966069 | controller | '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq ']'\n+ 2025-10-01 14:13:50.966077 | controller | pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-10-01 14:13:50.966085 | controller | ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until 2025-10-01 14:13:50.966094 | controller | [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ 2025-10-01 14:13:50.966102 | controller | '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster 2025-10-01 14:13:50.966112 | controller | ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators 2025-10-01 14:13:50.966119 | controller | deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError 2025-10-01 14:13:50.966127 | controller | from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not 2025-10-01 14:13:50.966136 | controller | found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-10-01 14:13:50.966144 | controller | ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ 2025-10-01 14:13:50.966151 | controller | jq -e .status.availableReplicas\n++ oc get -n openstack-operators deployment infra-operator-controller-manager 2025-10-01 14:13:50.966159 | controller | -o json\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" 2025-10-01 14:13:50.966166 | controller | not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-10-01 14:13:50.966174 | controller | ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ 2025-10-01 14:13:50.966181 | controller | oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ 2025-10-01 14:13:50.966188 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-10-01 14:13:50.966196 | controller | \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ 2025-10-01 14:13:50.966203 | controller | exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster 2025-10-01 14:13:50.966211 | controller | ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators 2025-10-01 14:13:50.966218 | controller | deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError 2025-10-01 14:13:50.966225 | controller | from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not 2025-10-01 14:13:50.966233 | controller | found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-10-01 14:13:50.966240 | controller | ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ 2025-10-01 14:13:50.966248 | controller | oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ 2025-10-01 14:13:50.966255 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-10-01 14:13:50.966263 | controller | \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ 2025-10-01 14:13:50.966270 | controller | exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster 2025-10-01 14:13:50.966277 | controller | ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators 2025-10-01 14:13:50.966285 | controller | deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ 2025-10-01 14:13:50.966292 | controller | REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ 2025-10-01 14:13:50.966300 | controller | '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ 2025-10-01 14:13:50.966311 | controller | oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ 2025-10-01 14:13:50.966318 | controller | jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 2025-10-01 14:13:50.966326 | controller | 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster 2025-10-01 14:13:50.966333 | controller | ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators 2025-10-01 14:13:50.966341 | controller | deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ 2025-10-01 14:13:50.966348 | 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-10-01 14:13:50.966356 | controller | exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash 2025-10-01 14:13:50.966373 | controller | scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-10-01 14:13:50.966382 | 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-10-01 14:13:50.966390 | controller | oc apply -f -\nmemcached.memcached.openstack.org/memcached created\n+ '[' 0 -lt 2025-10-01 14:13:50.966401 | controller | 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster 2025-10-01 14:13:50.966428 | controller | ']'\n+ '[' -z quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest 2025-10-01 14:13:50.966436 | controller | ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op 2025-10-01 14:13:50.966444 | controller | ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op 2025-10-01 14:13:50.966452 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\n+ 2025-10-01 14:13:50.966459 | controller | OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=rabbitmq-cluster-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ 2025-10-01 14:13:50.966467 | controller | echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\nOPERATOR_DIR 2025-10-01 14:13:50.966474 | controller | /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\n+ 2025-10-01 14:13:50.966482 | controller | echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE rabbitmq-cluster-operator-index\nOPERATOR_SOURCE 2025-10-01 14:13:50.966489 | controller | rabbitmq-cluster-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE 2025-10-01 14:13:50.966497 | 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-10-01 14:13:50.966505 | controller | created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/rabbitmq-cluster-operator 2025-10-01 14:13:50.966512 | controller | created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/op 2025-10-01 14:13:50.966520 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\nbash 2025-10-01 14:13:50.966527 | controller | -c \"CHECKOUT_FROM_OPENSTACK_REF=false scripts/clone-operator-repo.sh\"\nCloning 2025-10-01 14:13:50.966535 | controller | repo: git clone -b patches https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git 2025-10-01 14:13:50.966543 | 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-10-01 14:13:50.966550 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\nbash 2025-10-01 14:13:50.966565 | controller | scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ 2025-10-01 14:13:50.966574 | controller | cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ 2025-10-01 14:13:50.966581 | controller | . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh 2025-10-01 14:13:50.966589 | controller | --source-only\n++ set -e\n+ '[' -z keystone-kuttl-tests ']'\n+ '[' -z RabbitmqCluster 2025-10-01 14:13:50.966597 | controller | ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-10-01 14:13:50.966604 | controller | ']'\n+ '[' -n '' ']'\n+ IMAGE=unused\n+ IMAGE_PATH=image\n+ STORAGE_REQUEST=10G\n+ 2025-10-01 14:13:50.966612 | controller | INTERFACE_MTU=1500\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-10-01 14:13:50.966619 | 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-10-01 14:13:50.966627 | controller | ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ RabbitmqCluster 2025-10-01 14:13:50.966635 | 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-10-01 14:13:50.966642 | controller | read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ 2025-10-01 14:13:50.966650 | controller | (( i < 1 ))\n+ SPEC_PATH=image\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ 2025-10-01 14:13:50.966657 | controller | (( i++ ))\n+ (( i < 1 ))\n+ '[' -n rabbitmq ']'\n+ cat\n+ '[' RabbitmqCluster == 2025-10-01 14:13:50.966667 | controller | OpenStackControlPlane ']'\n+ '[' RabbitmqCluster == Galera ']'\n+ '[' RabbitmqCluster 2025-10-01 14:13:50.966685 | 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-10-01 14:13:50.966694 | 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-10-01 14:13:50.966701 | controller | ]]\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ 2025-10-01 14:13:50.966709 | controller | find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./rabbitmq.yaml\n+ 2025-10-01 14:13:50.966716 | 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-10-01 14:13:50.966724 | controller | wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: 2025-10-01 14:13:50.966731 | controller | the server doesn't have a resource type \"openstackversion\"\nbash scripts/operator-wait.sh\n+ 2025-10-01 14:13:50.966739 | controller | TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ 2025-10-01 14:13:50.966746 | controller | SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ 2025-10-01 14:13:50.966753 | controller | '[' -z openstack-operators ']'\n+ '[' -z rabbitmq ']'\n+ '[' rabbitmq = rabbitmq 2025-10-01 14:13:50.966760 | 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-10-01 14:13:50.966768 | controller | ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until 2025-10-01 14:13:50.966775 | controller | [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ 2025-10-01 14:13:50.966782 | controller | '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster 2025-10-01 14:13:50.966789 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators 2025-10-01 14:13:50.966796 | controller | deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError 2025-10-01 14:13:50.966804 | controller | from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ 2025-10-01 14:13:50.966815 | controller | REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' 2025-10-01 14:13:50.966822 | controller | -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ 2025-10-01 14:13:50.966830 | controller | oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq 2025-10-01 14:13:50.966837 | controller | -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" 2025-10-01 14:13:50.966844 | controller | not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-10-01 14:13:50.966853 | controller | ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ 2025-10-01 14:13:50.966861 | controller | DEPL_NAME=rabbitmq-cluster-operator\n++ jq -e .status.availableReplicas\n++ oc get 2025-10-01 14:13:50.966868 | controller | -n openstack-operators deployment rabbitmq-cluster-operator -o json\nError from 2025-10-01 14:13:50.966875 | controller | server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ 2025-10-01 14:13:50.966882 | controller | '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster 2025-10-01 14:13:50.966890 | controller | ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ 2025-10-01 14:13:50.966897 | controller | oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq 2025-10-01 14:13:50.966905 | controller | -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" 2025-10-01 14:13:50.966912 | controller | not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-10-01 14:13:50.966920 | controller | ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ 2025-10-01 14:13:50.966927 | controller | DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment 2025-10-01 14:13:50.966934 | controller | rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from 2025-10-01 14:13:50.966941 | controller | server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ 2025-10-01 14:13:50.966948 | controller | '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster 2025-10-01 14:13:50.966956 | controller | ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ 2025-10-01 14:13:50.966963 | controller | oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq 2025-10-01 14:13:50.966970 | controller | -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ 2025-10-01 14:13:50.966977 | controller | '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster 2025-10-01 14:13:50.966984 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators 2025-10-01 14:13:50.966992 | controller | deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\n+ 2025-10-01 14:13:50.967007 | 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-10-01 14:13:50.967015 | controller | exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash 2025-10-01 14:13:50.967022 | controller | scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-10-01 14:13:50.967030 | 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-10-01 14:13:50.967037 | controller | oc apply -f -\nrabbitmqcluster.rabbitmq.com/rabbitmq created\n+ '[' 0 -lt 15 ']'\nbash 2025-10-01 14:13:50.967044 | controller | scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' 2025-10-01 14:13:50.967051 | controller | -z 38.102.83.129:5001/openstack-k8s-operators/keystone-operator-index:0bf30aa672c65d76ab942979d5cc7e063a129ffc 2025-10-01 14:13:50.967062 | controller | ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-10-01 14:13:50.967070 | controller | ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-10-01 14:13:50.967077 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\n+ 2025-10-01 14:13:50.967084 | controller | OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=keystone-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ 2025-10-01 14:13:50.967092 | controller | echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\nOPERATOR_DIR 2025-10-01 14:13:50.967099 | controller | /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\n+ 2025-10-01 14:13:50.967106 | controller | echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE keystone-operator-index\nOPERATOR_SOURCE 2025-10-01 14:13:50.967113 | controller | keystone-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE 2025-10-01 14:13:50.967120 | 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-10-01 14:13:50.967128 | controller | created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/keystone-operator 2025-10-01 14:13:50.967136 | controller | created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-10-01 14:13:50.967145 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr\nbash 2025-10-01 14:13:50.967152 | controller | scripts/clone-operator-repo.sh\nCloning repo: git clone /home/zuul/src/github.com/openstack-k8s-operators/keystone-operator 2025-10-01 14:13:50.967163 | 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-10-01 14:13:50.967170 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr\nbash 2025-10-01 14:13:50.967178 | controller | scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ 2025-10-01 14:13:50.967185 | controller | cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ 2025-10-01 14:13:50.967192 | controller | . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh 2025-10-01 14:13:50.967199 | controller | --source-only\n++ set -e\n+ '[' -z keystone-kuttl-tests ']'\n+ '[' -z KeystoneAPI 2025-10-01 14:13:50.967206 | controller | ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-10-01 14:13:50.967215 | controller | ']'\n+ '[' -n '' ']'\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ 2025-10-01 14:13:50.967222 | controller | INTERFACE_MTU=1500\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-10-01 14:13:50.967229 | 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-10-01 14:13:50.967237 | controller | ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ KeystoneAPI 2025-10-01 14:13:50.967244 | 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-10-01 14:13:50.967251 | controller | read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ 2025-10-01 14:13:50.967258 | controller | (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' 2025-10-01 14:13:50.967265 | controller | unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' KeystoneAPI == OpenStackControlPlane 2025-10-01 14:13:50.967284 | controller | ']'\n+ '[' KeystoneAPI == Galera ']'\n+ '[' KeystoneAPI == NetConfig ']'\n+ '[' 2025-10-01 14:13:50.967292 | 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-10-01 14:13:50.967299 | 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-10-01 14:13:50.967306 | controller | ]]\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ 2025-10-01 14:13:50.967313 | controller | find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./keystone_v1beta1_keystoneapi.yaml\n+ 2025-10-01 14:13:50.967321 | controller | for y in ${yamls[@]}\n+ kustomize edit add resource ./keystone_v1beta1_keystoneapi.yaml\n+ 2025-10-01 14:13:50.967328 | controller | popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: 2025-10-01 14:13:50.967335 | controller | Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: 2025-10-01 14:13:50.967343 | controller | the server doesn't have a resource type \"openstackversion\"\nbash scripts/operator-wait.sh\n+ 2025-10-01 14:13:50.967350 | controller | TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ 2025-10-01 14:13:50.967358 | controller | SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ 2025-10-01 14:13:50.967365 | controller | '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq 2025-10-01 14:13:50.967372 | 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-10-01 14:13:50.967379 | controller | ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until 2025-10-01 14:13:50.967386 | controller | [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ 2025-10-01 14:13:50.967394 | controller | '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster 2025-10-01 14:13:50.967418 | controller | ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators 2025-10-01 14:13:50.967429 | controller | deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError 2025-10-01 14:13:50.967437 | controller | from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" 2025-10-01 14:13:50.967444 | controller | not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-10-01 14:13:50.967451 | controller | ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ 2025-10-01 14:13:50.967459 | controller | oc get -n openstack-operators deployment keystone-operator-controller-manager -o 2025-10-01 14:13:50.967466 | controller | json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-10-01 14:13:50.967473 | controller | \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-10-01 14:13:50.967480 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone 2025-10-01 14:13:50.967487 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc 2025-10-01 14:13:50.967495 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ 2025-10-01 14:13:50.967502 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-10-01 14:13:50.967510 | controller | \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-10-01 14:13:50.967517 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone 2025-10-01 14:13:50.967526 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc 2025-10-01 14:13:50.967533 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ 2025-10-01 14:13:50.967541 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-10-01 14:13:50.967552 | controller | \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-10-01 14:13:50.967560 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone 2025-10-01 14:13:50.967567 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc 2025-10-01 14:13:50.967574 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ 2025-10-01 14:13:50.967595 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-10-01 14:13:50.967603 | controller | \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-10-01 14:13:50.967611 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone 2025-10-01 14:13:50.967618 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc 2025-10-01 14:13:50.967625 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ 2025-10-01 14:13:50.967632 | controller | jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 2025-10-01 14:13:50.967639 | controller | 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster 2025-10-01 14:13:50.967655 | controller | ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators 2025-10-01 14:13:50.967663 | controller | deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ 2025-10-01 14:13:50.967670 | controller | REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ 2025-10-01 14:13:50.967677 | controller | '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ 2025-10-01 14:13:50.967684 | controller | oc get -n openstack-operators deployment keystone-operator-controller-manager -o 2025-10-01 14:13:50.967692 | controller | json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo 2025-10-01 14:13:50.967699 | controller | Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ 2025-10-01 14:13:50.967706 | controller | exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake 2025-10-01 14:13:50.967713 | controller | keystone_kuttl_run\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: 2025-10-01 14:13:50.967720 | controller | the server doesn't have a resource type \"openstackversion\"\nKEYSTONE_KUTTL_DIR=/home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/tests/kuttl/tests 2025-10-01 14:13:50.967727 | controller | kubectl-kuttl test --config /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/kuttl-test.yaml 2025-10-01 14:13:50.967734 | controller | /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/tests/kuttl/tests 2025-10-01 14:13:50.967742 | controller | --namespace keystone-kuttl-tests \n2025/10/01 13:52:50 kutt-test config testdirs 2025-10-01 14:13:50.967749 | controller | is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/tests/kuttl/tests 2025-10-01 14:13:50.967756 | controller | ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running 2025-10-01 14:13:50.967763 | controller | tests using configured kubeconfig.\n harness.go:278: Successful connection to 2025-10-01 14:13:50.967771 | controller | cluster at: https://api.crc.testing:6443\n harness.go:363: running tests\n harness.go:75: 2025-10-01 14:13:50.967778 | controller | going to run test suite with timeout of 800 seconds for each step\n harness.go:375: 2025-10-01 14:13:50.967785 | controller | testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/tests/kuttl/tests 2025-10-01 14:13:50.967792 | controller | has 6 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/change_keystone_config\n=== 2025-10-01 14:13:50.967800 | controller | PAUSE kuttl/harness/change_keystone_config\n=== RUN kuttl/harness/fernet_rotation\n=== 2025-10-01 14:13:50.967810 | controller | PAUSE kuttl/harness/fernet_rotation\n=== RUN kuttl/harness/keystone_appcred\n=== 2025-10-01 14:13:50.967818 | controller | PAUSE kuttl/harness/keystone_appcred\n=== RUN kuttl/harness/keystone_resources\n=== 2025-10-01 14:13:50.967825 | controller | PAUSE kuttl/harness/keystone_resources\n=== RUN kuttl/harness/keystone_scale\n=== 2025-10-01 14:13:50.967832 | controller | PAUSE kuttl/harness/keystone_scale\n=== RUN kuttl/harness/keystone_tls\n=== PAUSE 2025-10-01 14:13:50.967839 | controller | kuttl/harness/keystone_tls\n=== CONT kuttl/harness/change_keystone_config\n logger.go:42: 2025-10-01 14:13:50.967846 | controller | 13:52:50 | change_keystone_config | Skipping creation of user-supplied namespace: 2025-10-01 14:13:50.967853 | controller | keystone-kuttl-tests\n logger.go:42: 13:52:50 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.967860 | controller | | starting test step 0-deploy_keystone\n logger.go:42: 13:52:50 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.967867 | controller | | KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 13:52:50 2025-10-01 14:13:50.967874 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.967881 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.967889 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.967898 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.967905 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.967912 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.967919 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.967926 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.967934 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.967941 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.967948 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.967963 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.967971 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.967978 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.967985 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.968000 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.968007 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.968014 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.968021 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.968028 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.968036 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.968043 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.968050 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:52:50 2025-10-01 14:13:50.968060 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.968067 | controller | do not match regex\n logger.go:42: 13:52:51 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.968075 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.968082 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.968089 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.968096 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.968103 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.968111 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.968118 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.968125 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.968132 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.968139 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.968146 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.968153 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.968160 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.968168 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.968182 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.968191 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.968198 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.968205 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.968212 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.968219 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.968226 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.968234 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:52:51 2025-10-01 14:13:50.968241 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.968248 | controller | do not match regex\n logger.go:42: 13:52:52 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.968255 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.968263 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.968278 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.968286 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.968294 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.968304 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.968313 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.968321 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.968328 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.968335 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.968342 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.968350 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.968357 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.968364 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.968378 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.968385 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.968392 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.968417 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.968428 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.968435 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.968442 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.968449 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:52:52 2025-10-01 14:13:50.968457 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.968464 | controller | do not match regex\n logger.go:42: 13:52:53 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.968471 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.968478 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.968486 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.968493 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.968500 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.968507 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.968514 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.968522 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.968529 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.968536 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.968543 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.968550 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.968561 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.968568 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.968584 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.968591 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.968598 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.968606 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.968633 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.968641 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.968648 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.968655 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:52:54 2025-10-01 14:13:50.968662 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.968669 | controller | do not match regex\n logger.go:42: 13:52:55 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.968677 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.968684 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.968691 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.968698 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.968706 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.968713 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.968720 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.968728 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.968738 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.968746 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.968753 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.968760 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.968767 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.968774 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.968788 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.968795 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.968802 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.968810 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.968817 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.968827 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.968834 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.968841 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:52:55 2025-10-01 14:13:50.968848 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.968855 | controller | do not match regex\n logger.go:42: 13:52:56 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.968862 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.968869 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.968876 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.968884 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.968891 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.968898 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.968905 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.968912 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.968919 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.968927 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.968934 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.968950 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.968958 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.968966 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.968980 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.968991 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.968998 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.969005 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.969013 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.969020 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.969027 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.969035 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:52:56 2025-10-01 14:13:50.969042 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.969049 | controller | do not match regex\n logger.go:42: 13:52:57 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.969056 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.969063 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.969070 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.969081 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.969089 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.969096 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.969103 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.969110 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.969124 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.969131 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.969138 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.969145 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.969152 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.969159 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.969174 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.969181 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.969188 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.969195 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.969202 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.969209 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.969216 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.969223 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:52:57 2025-10-01 14:13:50.969231 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.969238 | controller | do not match regex\n logger.go:42: 13:52:58 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.969245 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.969252 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.969260 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.969276 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.969283 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.969291 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.969298 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.969305 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.969312 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.969319 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.969330 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.969337 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.969345 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.969352 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.969366 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.969373 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.969380 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.969387 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.969394 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.969422 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.969433 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.969440 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:52:58 2025-10-01 14:13:50.969447 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.969455 | controller | do not match regex\n logger.go:42: 13:52:59 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.969462 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.969469 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.969476 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.969487 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.969494 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.969501 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.969508 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.969516 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.969523 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.969533 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.969540 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.969547 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.969554 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.969562 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.969576 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.969584 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.969595 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.969602 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.969609 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.969626 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.969634 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.969641 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:52:59 2025-10-01 14:13:50.969649 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.969656 | controller | do not match regex\n logger.go:42: 13:53:00 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.969663 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.969670 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.969678 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.969685 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.969693 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.969700 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.969707 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.969715 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.969722 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.969729 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.969737 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.969744 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.969751 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.969758 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.969773 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.969783 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.969790 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.969798 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.969805 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.969812 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.969819 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.969826 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:01 2025-10-01 14:13:50.969834 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.969841 | controller | do not match regex\n logger.go:42: 13:53:02 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.969856 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.969864 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.969871 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.969879 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.969886 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.969894 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.969901 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.969908 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.969915 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.969922 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.969929 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.969936 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.969955 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.969963 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.969978 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.969985 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.969992 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.969999 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.970007 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.970014 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.970021 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.970028 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:02 2025-10-01 14:13:50.970036 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.970043 | controller | do not match regex\n logger.go:42: 13:53:03 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.970051 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.970058 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.970065 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.970073 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.970080 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.970089 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.970097 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.970110 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.970118 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.970125 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.970133 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.970140 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.970147 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.970154 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.970169 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.970176 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.970183 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.970190 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.970198 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.970205 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.970212 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.970220 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:03 2025-10-01 14:13:50.970227 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.970234 | controller | do not match regex\n logger.go:42: 13:53:04 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.970242 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.970249 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.970256 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.970263 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.970279 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.970287 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.970294 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.970301 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.970309 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.970316 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.970323 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.970330 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.970338 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.970345 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.970367 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.970375 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.970382 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.970389 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.970396 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.970424 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.970432 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.970439 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:04 2025-10-01 14:13:50.970447 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.970454 | controller | do not match regex\n logger.go:42: 13:53:05 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.970461 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.970469 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.970476 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.970483 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.970491 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.970498 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.970505 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.970513 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.970520 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.970644 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.970656 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.970664 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.970671 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.970678 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.970693 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.970704 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.970711 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.970718 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.970726 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.970733 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.970751 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.970763 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:05 2025-10-01 14:13:50.970770 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.970778 | controller | do not match regex\n logger.go:42: 13:53:06 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.970785 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.970792 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.970799 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.970807 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.970814 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.970822 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.970829 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.970836 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.970843 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.970850 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.970857 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.970864 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.970871 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.970878 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.970896 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.970903 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.970911 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.970918 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.970925 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.970932 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.970939 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.970946 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:07 2025-10-01 14:13:50.970953 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.970961 | controller | do not match regex\n logger.go:42: 13:53:08 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.970968 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.970975 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.970982 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.970989 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.971000 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.971007 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.971014 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.971021 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.971028 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.971035 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.971042 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.971050 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.971057 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.971072 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.971087 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.971095 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.971102 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.971109 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.971116 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.971123 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.971130 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.971137 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:08 2025-10-01 14:13:50.971144 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.971152 | controller | do not match regex\n logger.go:42: 13:53:09 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.971159 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.971166 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.971173 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.971180 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.971187 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.971194 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.971202 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.971209 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.971216 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.971223 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.971230 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.971245 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.971252 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.971259 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.971277 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.971284 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.971292 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.971302 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.971309 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.971316 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.971323 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.971330 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:09 2025-10-01 14:13:50.971337 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.971344 | controller | do not match regex\n logger.go:42: 13:53:10 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.971352 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.971359 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.971366 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.971373 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.971380 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.971396 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.971437 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.971444 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.971451 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.971458 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.971466 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.971473 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.971480 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.971488 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.971502 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.971513 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.971520 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.971528 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.971538 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.971545 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.971552 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.971560 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:10 2025-10-01 14:13:50.971567 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.971574 | controller | do not match regex\n logger.go:42: 13:53:11 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.971582 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.971606 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.971614 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.971621 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.971628 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.971635 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.971642 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.971649 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.971656 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.971663 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.971671 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.971677 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.971685 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.971692 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.971706 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.971713 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.971720 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.971728 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.971735 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.971746 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.971753 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.971770 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:11 2025-10-01 14:13:50.971777 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.971784 | controller | do not match regex\n logger.go:42: 13:53:12 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.971791 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.971799 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.971810 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.971817 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.971824 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.971831 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.971838 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.971845 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.971852 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.971859 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.971867 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.971874 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.971881 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.971888 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.971900 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.971906 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.971911 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.971917 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.971923 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.971929 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.971934 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.971940 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:12 2025-10-01 14:13:50.971946 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.971951 | controller | do not match regex\n logger.go:42: 13:53:13 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.971957 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.971963 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.971969 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.971974 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.971981 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.971988 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.971995 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.972003 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.972010 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.972021 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.972028 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.972036 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.972043 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.972050 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.972075 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.972083 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.972090 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.972097 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.972104 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.972111 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.972122 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.972133 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:14 2025-10-01 14:13:50.972140 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.972147 | controller | do not match regex\n logger.go:42: 13:53:15 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.972155 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.972162 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.972169 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.972177 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.972184 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.972192 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.972199 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.972206 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.972213 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.972220 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.972228 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.972235 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.972242 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.972249 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.972263 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.972278 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.972286 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.972293 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.972301 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.972308 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.972316 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.972323 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:15 2025-10-01 14:13:50.972331 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.972338 | controller | do not match regex\n logger.go:42: 13:53:16 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.972346 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.972353 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.972361 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.972368 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.972376 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.972383 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.972421 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.972435 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.972443 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.972450 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.972458 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.972465 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.972472 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.972480 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.972494 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.972501 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.972508 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.972515 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.972522 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.972530 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.972537 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.972548 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:16 2025-10-01 14:13:50.972555 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.972567 | controller | do not match regex\n logger.go:42: 13:53:17 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.972574 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.972582 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.972590 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.972597 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.972604 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.972611 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.972618 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.972626 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.972633 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.972640 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.972647 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.972655 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.972662 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.972670 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.972684 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.972691 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.972698 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.972706 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.972713 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.972720 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.972727 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.972734 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:17 2025-10-01 14:13:50.972742 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.972758 | controller | do not match regex\n logger.go:42: 13:53:18 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.972766 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.972773 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.972781 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.972788 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.972795 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.972802 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.972814 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.972821 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.972829 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.972836 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.972843 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.972850 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.972858 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.972865 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.972880 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.972887 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.972894 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.972901 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.972908 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.972915 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.972922 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.972930 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:18 2025-10-01 14:13:50.972943 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.972951 | controller | do not match regex\n logger.go:42: 13:53:19 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.972958 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.972965 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.972972 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.972980 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.972987 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.972994 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.973001 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.973008 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.973015 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.973022 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.973029 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.973036 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.973044 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.973055 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.973069 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.973087 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.973095 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.973102 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.973109 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.973116 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.973124 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.973131 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:19 2025-10-01 14:13:50.973138 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.973145 | controller | do not match regex\n logger.go:42: 13:53:20 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.973152 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.973159 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.973166 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.973173 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.973181 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.973188 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.973195 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.973202 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.973209 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.973216 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.973223 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.973230 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.973238 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.973245 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.973259 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.973267 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.973274 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.973281 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.973288 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.973295 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.973306 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.973313 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:21 2025-10-01 14:13:50.973320 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.973327 | controller | do not match regex\n logger.go:42: 13:53:22 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.973337 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.973345 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.973352 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.973361 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.973369 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.973376 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.973383 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.973414 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.973425 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.973432 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.973439 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.973447 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.973454 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.973461 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.973476 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.973483 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.973490 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.973497 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.973504 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.973511 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.973519 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.973526 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:22 2025-10-01 14:13:50.973533 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.973540 | controller | do not match regex\n logger.go:42: 13:53:23 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.973547 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.973554 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.973561 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.973569 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.973580 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.973588 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.973595 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.973602 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.973609 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.973616 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.973623 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.973631 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.973638 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.973645 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.973659 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.973667 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.973674 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.973681 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.973692 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.973699 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.973706 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.973713 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:23 2025-10-01 14:13:50.973720 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.973728 | controller | do not match regex\n logger.go:42: 13:53:24 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.973744 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.973752 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.973762 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.973769 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.973776 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.973783 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.973790 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.973798 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.973804 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.973812 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.973819 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.973830 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.973837 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.973844 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.973859 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.973869 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.973876 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.973883 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.973890 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.973897 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.973904 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.973911 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:24 2025-10-01 14:13:50.973918 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.973926 | controller | do not match regex\n logger.go:42: 13:53:25 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.973933 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.973940 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.973947 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.973954 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.973961 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.973968 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.973975 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.973982 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.973990 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.973997 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.974004 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.974011 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.974018 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.974025 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.974040 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.974047 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.974062 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.974073 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.974081 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.974088 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.974095 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.974102 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:25 2025-10-01 14:13:50.974109 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.974117 | controller | do not match regex\n logger.go:42: 13:53:26 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.974124 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.974131 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.974141 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.974148 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.974155 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.974162 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.974170 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.974177 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.974184 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.974192 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.974199 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.974206 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.974213 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.974220 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.974234 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.974241 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.974249 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.974256 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.974263 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.974270 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.974277 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.974284 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:26 2025-10-01 14:13:50.974291 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.974298 | controller | do not match regex\n logger.go:42: 13:53:28 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.974309 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.974316 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.974323 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.974330 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.974337 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.974344 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.974351 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.974358 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.974366 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.974381 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.974389 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.974396 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.974423 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.974431 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.974445 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.974452 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.974459 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.974466 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.974474 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.974481 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.974488 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.974495 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:28 2025-10-01 14:13:50.974503 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.974510 | controller | do not match regex\n logger.go:42: 13:53:29 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.974517 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.974524 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.974532 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.974539 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.974546 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.974553 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.974564 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.974572 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.974587 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.974595 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.974602 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.974609 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.974616 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.974623 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.974638 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.974648 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.974655 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.974662 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.974669 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.974677 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.974684 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.974691 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:29 2025-10-01 14:13:50.974698 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-10-01 14:13:50.974705 | controller | do not match regex\n logger.go:42: 13:53:30 | change_keystone_config/0-deploy_keystone 2025-10-01 14:13:50.974712 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.974729 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.974736 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.974743 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.974751 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.974758 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.974765 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.974772 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.974779 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.974786 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.974793 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.974800 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.974807 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.974815 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.974832 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.974840 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.974847 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.974854 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.974861 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.974869 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.974876 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.974883 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:31 2025-10-01 14:13:50.974890 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.974897 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.974904 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.974911 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.974918 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.974926 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.974933 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.974940 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.974951 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.974958 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.974965 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.974972 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.974979 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.974989 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.974996 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.975010 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.975017 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.975024 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.975031 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.975047 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.975054 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.975062 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.975069 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:32 2025-10-01 14:13:50.975076 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.975087 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.975094 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.975101 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.975108 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.975116 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.975123 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.975130 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.975137 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.975145 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.975152 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.975159 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.975166 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.975173 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.975180 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.975195 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.975202 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.975209 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.975216 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.975224 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.975231 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.975239 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.975249 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:33 2025-10-01 14:13:50.975260 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.975270 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.975280 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.975291 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.975301 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.975311 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.975403 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.975437 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.975461 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.975472 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.975483 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.975490 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.975497 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.975505 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.975512 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.975538 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.975545 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.975553 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.975560 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.975568 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.975575 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.975583 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.975591 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:35 2025-10-01 14:13:50.975663 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.975672 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.975678 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.975684 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.975690 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.975696 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.975706 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.975712 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.975718 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.975723 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.975729 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.975736 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.975742 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.975748 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.975754 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.975765 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.975771 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.975777 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.975786 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.975792 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.975798 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.975804 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.975809 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:36 2025-10-01 14:13:50.975815 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.975821 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.975827 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.975833 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.975839 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.975844 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.975850 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.975856 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.975865 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.975871 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.975886 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.975895 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.975901 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.975907 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.975913 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.975925 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.975931 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.975937 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.975943 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.975949 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.975954 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.975960 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.975966 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:37 2025-10-01 14:13:50.975973 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.975979 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.975985 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.975990 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.975999 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.976006 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.976012 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.976018 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.976024 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.976029 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.976035 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.976041 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.976047 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.976053 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.976059 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.976070 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.976076 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.976082 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.976088 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.976094 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.976099 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.976105 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.976111 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:38 2025-10-01 14:13:50.976117 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.976123 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.976128 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.976134 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.976140 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.976154 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.976160 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.976166 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.976172 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.976178 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.976184 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.976190 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.976198 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.976204 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.976213 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.976225 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.976231 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.976237 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.976243 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.976248 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.976254 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.976260 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.976266 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:39 2025-10-01 14:13:50.976272 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.976278 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.976283 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.976289 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.976295 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.976301 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.976307 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.976313 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.976318 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.976324 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.976330 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.976336 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.976342 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.976348 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.976353 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.976365 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.976371 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.976377 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.976383 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.976393 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.976423 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.976455 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.976469 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:41 2025-10-01 14:13:50.976476 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.976481 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.976487 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.976493 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.976499 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.976505 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.976511 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.976517 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.976522 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.976528 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.976534 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.976540 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.976545 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.976551 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.976557 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.976572 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.976579 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.976585 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.976590 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.976596 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.976602 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.976608 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.976613 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:42 2025-10-01 14:13:50.976619 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.976625 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.976631 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.976637 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.976642 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.976648 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.976657 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.976663 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.976668 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.976674 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.976680 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.976686 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.976692 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.976697 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.976703 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.976715 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.976720 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.976733 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.976739 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.976745 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.976751 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.976757 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.976762 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:43 2025-10-01 14:13:50.976768 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.976774 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.976780 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.976786 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.976791 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.976797 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.976803 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.976809 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.976814 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.976820 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.976826 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.976832 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.976837 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.976843 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.976849 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.976866 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.976871 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.976877 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.976883 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.976889 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.976895 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.976900 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.976906 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:44 2025-10-01 14:13:50.976912 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.976918 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.976923 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.976929 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.976935 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.976941 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.976946 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.976952 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.976958 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.976964 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.976970 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.976975 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.976981 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.976994 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.977000 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.977012 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.977017 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.977023 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.977029 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.977035 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.977040 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.977046 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.977055 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:45 2025-10-01 14:13:50.977061 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.977066 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.977072 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.977078 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.977083 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.977089 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.977095 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.977101 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.977107 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.977112 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.977118 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.977124 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.977132 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.977138 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.977144 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.977157 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.977163 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.977169 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.977177 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.977183 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.977188 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.977194 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.977200 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:47 2025-10-01 14:13:50.977206 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.977211 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.977217 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.977223 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.977229 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.977234 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.977240 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.977246 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.977261 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.977268 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.977273 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.977279 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.977285 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.977291 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.977297 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.977308 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.977314 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.977320 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.977326 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.977331 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.977337 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.977343 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.977349 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:48 2025-10-01 14:13:50.977355 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.977360 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.977366 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.977372 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.977378 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.977383 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.977389 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.977395 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.977415 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.977423 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.977430 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.977435 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.977441 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.977447 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.977453 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.977464 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.977473 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.977479 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.977485 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.977491 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.977499 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.977505 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.977511 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:49 2025-10-01 14:13:50.977516 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.977522 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.977528 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.977542 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.977548 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.977554 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.977559 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.977565 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.977571 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.977577 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.977583 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.977588 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.977594 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.977600 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.977606 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.977617 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.977623 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.977629 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.977634 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.977640 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.977646 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.977652 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.977657 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:50 2025-10-01 14:13:50.977663 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.977669 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.977678 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.977683 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.977689 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.977695 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.977701 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.977706 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.977712 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.977718 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.977724 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.977730 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.977735 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.977741 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.977747 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.977758 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.977764 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.977770 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.977776 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.977781 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.977793 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.977802 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.977808 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:51 2025-10-01 14:13:50.977814 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.977820 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.977826 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.977832 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.977838 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.977843 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.977854 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.977860 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.977866 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.977872 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.977877 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.977888 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.977893 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.977899 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.977905 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.977916 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.977925 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.977931 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.977936 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.977942 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.977948 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.977954 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.977959 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:53 2025-10-01 14:13:50.977965 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.977971 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.977977 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.977983 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.977988 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.977995 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.978001 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.978006 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.978012 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.978018 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.978024 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.978029 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.978035 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.978041 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.978047 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.978065 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.978071 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.978077 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.978085 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.978091 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.978097 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.978103 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.978112 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:54 2025-10-01 14:13:50.978118 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.978123 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.978129 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.978135 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.978141 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.978147 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.978152 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.978158 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.978164 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.978170 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.978176 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.978181 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.978187 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.978193 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.978198 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.978210 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.978216 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.978222 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.978227 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.978233 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.978239 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.978245 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.978250 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:55 2025-10-01 14:13:50.978256 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.978262 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.978268 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.978273 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.978279 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.978288 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.978294 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.978299 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.978305 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.978311 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.978317 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.978329 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.978336 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.978341 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.978347 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.978359 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.978365 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.978371 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.978376 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.978385 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.978390 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.978396 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.978419 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:56 2025-10-01 14:13:50.978426 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.978435 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.978440 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.978446 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.978452 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.978458 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.978464 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.978470 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.978475 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.978481 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.978487 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.978493 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.978499 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.978507 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.978513 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.978525 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.978530 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.978536 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.978542 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.978550 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.978556 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.978562 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.978567 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:57 2025-10-01 14:13:50.978573 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.978579 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.978585 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.978590 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.978596 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.978610 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.978616 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.978622 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.978628 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.978634 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.978640 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.978645 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.978651 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.978657 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.978663 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.978674 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.978680 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.978686 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.978692 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.978697 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.978703 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.978712 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.978718 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:53:59 2025-10-01 14:13:50.978723 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.978731 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.978737 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.978743 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.978749 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.978755 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.978760 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.978766 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.978772 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.978778 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.978784 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.978789 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.978795 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.978801 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.978807 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.978818 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.978824 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.978830 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.978835 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.978841 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.978847 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.978853 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.978859 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:00 2025-10-01 14:13:50.978871 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.978877 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.978883 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.978889 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.978895 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.978901 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.978906 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.978915 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.978921 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.978927 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.978932 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.978938 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.978944 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.978950 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.978955 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.978967 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.978973 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.978978 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.978984 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.978990 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.978996 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.979001 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.979007 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:01 2025-10-01 14:13:50.979013 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.979019 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.979027 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.979033 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.979038 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.979044 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.979050 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.979056 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.979062 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.979067 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.979073 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.979079 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.979085 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.979090 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.979096 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.979111 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.979116 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.979122 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.979135 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.979141 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.979147 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.979153 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.979159 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:02 2025-10-01 14:13:50.979165 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.979171 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.979176 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.979182 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.979188 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.979194 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.979199 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.979205 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.979211 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.979217 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.979223 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.979228 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.979239 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.979245 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.979251 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.979262 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.979268 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.979274 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.979280 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.979285 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.979291 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.979297 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.979303 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:03 2025-10-01 14:13:50.979309 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.979317 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.979323 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.979331 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.979337 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.979343 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.979348 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.979354 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.979360 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.979366 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.979371 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.979377 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.979383 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.979389 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.979415 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.979430 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.979436 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.979442 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.979447 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.979453 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.979459 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.979464 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.979470 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:05 2025-10-01 14:13:50.979476 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.979482 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.979487 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.979493 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.979499 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.979505 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.979511 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.979516 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.979522 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.979531 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.979537 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.979543 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.979548 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.979554 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.979560 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.979571 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.979577 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.979583 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.979589 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.979594 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.979600 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.979642 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.979648 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:06 2025-10-01 14:13:50.979654 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.979660 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.979666 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.979671 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.979677 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.979683 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.979689 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.979697 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.979714 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.979720 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.979726 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.979732 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.979737 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.979743 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.979749 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.979761 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.979766 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.979776 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.979782 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.979787 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.979793 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.979799 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.979805 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:07 2025-10-01 14:13:50.979810 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.979816 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.979822 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.979828 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.979833 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.979839 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.979845 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.979851 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.979856 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.979862 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.979868 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.979874 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.979879 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.979885 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.979891 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.979903 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.979908 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.979914 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.979920 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.979926 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.979931 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.979937 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.979943 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:08 2025-10-01 14:13:50.979949 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-10-01 14:13:50.979954 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-10-01 14:13:50.979960 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-10-01 14:13:50.979969 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.979982 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.979988 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.979996 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.980002 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.980010 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.980016 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.980022 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.980027 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.980033 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.980039 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.980045 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.980056 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.980062 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.980068 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.980074 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.980080 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.980087 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.980094 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.980100 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:08 2025-10-01 14:13:50.980107 | controller | | change_keystone_config/0-deploy_keystone | test step completed 0-deploy_keystone\n 2025-10-01 14:13:50.980113 | controller | \ logger.go:42: 13:54:08 | change_keystone_config/1- | starting test step 1-\n 2025-10-01 14:13:50.980119 | controller | \ logger.go:42: 13:54:08 | change_keystone_config/1- | running command: [sh -c 2025-10-01 14:13:50.980125 | controller | $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh]\n logger.go:42: 2025-10-01 14:13:50.980131 | controller | 13:54:09 | change_keystone_config/1- | test step completed 1-\n logger.go:42: 2025-10-01 14:13:50.980136 | controller | 13:54:09 | change_keystone_config/2-change_keystone_config | starting test step 2025-10-01 14:13:50.980142 | controller | 2-change_keystone_config\n logger.go:42: 13:54:09 | change_keystone_config/2-change_keystone_config 2025-10-01 14:13:50.980148 | controller | | running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type='json' 2025-10-01 14:13:50.980154 | controller | -p='[{\"op\": \"replace\", \"path\": \"/spec/customServiceConfig\", \"value\": \"[DEFAULT]\\ndebug 2025-10-01 14:13:50.980159 | controller | = false\"}]'\n ]\n logger.go:42: 13:54:09 | change_keystone_config/2-change_keystone_config 2025-10-01 14:13:50.980165 | controller | | keystoneapi.keystone.openstack.org/keystone patched\n logger.go:42: 13:54:09 2025-10-01 14:13:50.980171 | 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-10-01 14:13:50.980180 | controller | --reverse]\n logger.go:42: 13:54:10 | change_keystone_config/2-change_keystone_config 2025-10-01 14:13:50.980185 | controller | | running command: [sh -c $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh 2025-10-01 14:13:50.980191 | controller | --reverse]\n logger.go:42: 13:54:10 | change_keystone_config/2-change_keystone_config 2025-10-01 14:13:50.980197 | controller | | error: arguments in resource/name form may not have more than one slash\n logger.go:42: 2025-10-01 14:13:50.980203 | controller | 13:54:10 | change_keystone_config/2-change_keystone_config | test step completed 2025-10-01 14:13:50.980209 | controller | 2-change_keystone_config\n logger.go:42: 13:54:10 | change_keystone_config/3-cleanup-keystone 2025-10-01 14:13:50.980214 | controller | | starting test step 3-cleanup-keystone\n logger.go:42: 13:54:15 | change_keystone_config/3-cleanup-keystone 2025-10-01 14:13:50.980220 | controller | | test step completed 3-cleanup-keystone\n logger.go:42: 13:54:15 | change_keystone_config 2025-10-01 14:13:50.980226 | controller | | skipping kubernetes event logging\n=== CONT kuttl/harness/keystone_resources\n 2025-10-01 14:13:50.980239 | controller | \ logger.go:42: 13:54:15 | keystone_resources | Skipping creation of user-supplied 2025-10-01 14:13:50.980245 | controller | namespace: keystone-kuttl-tests\n logger.go:42: 13:54:15 | keystone_resources/0-deploy_keystone 2025-10-01 14:13:50.980251 | controller | | starting test step 0-deploy_keystone\n logger.go:42: 13:54:15 | keystone_resources/0-deploy_keystone 2025-10-01 14:13:50.980257 | controller | | KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 13:54:15 2025-10-01 14:13:50.980263 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.980268 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.980274 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.980280 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.980286 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.980292 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.980297 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.980303 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.980309 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.980315 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.980320 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.980326 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.980332 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.980338 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.980346 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.980358 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.980363 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.980369 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.980378 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.980383 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.980389 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.980395 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.980416 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:15 2025-10-01 14:13:50.980422 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-10-01 14:13:50.980428 | controller | not match regex\n logger.go:42: 13:54:16 | keystone_resources/0-deploy_keystone 2025-10-01 14:13:50.980434 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.980440 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.980445 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.980451 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.980457 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.980463 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.980468 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.980474 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.980480 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.980486 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.980491 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.980497 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.980510 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.980517 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.980528 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.980534 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.980540 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.980546 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.980551 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.980557 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.980563 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.980569 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:16 2025-10-01 14:13:50.980574 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-10-01 14:13:50.980580 | controller | not match regex\n logger.go:42: 13:54:17 | keystone_resources/0-deploy_keystone 2025-10-01 14:13:50.980586 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.980595 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.980601 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.980607 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.980613 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.980618 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.980624 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.980630 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.980636 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.980644 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.980655 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.980660 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.980666 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.980672 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.980684 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.980689 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.980695 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.980701 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.980707 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.980712 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.980718 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.980724 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:17 2025-10-01 14:13:50.980730 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-10-01 14:13:50.980735 | controller | not match regex\n logger.go:42: 13:54:18 | keystone_resources/0-deploy_keystone 2025-10-01 14:13:50.980741 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.980747 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.980753 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.980759 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.980764 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.980778 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.980784 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.980790 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.980798 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.980804 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.980810 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.980816 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.980821 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.980827 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.980839 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.980844 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.980850 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.980856 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.980862 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.980870 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.980876 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.980882 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:18 2025-10-01 14:13:50.980888 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-10-01 14:13:50.980893 | controller | not match regex\n logger.go:42: 13:54:19 | keystone_resources/0-deploy_keystone 2025-10-01 14:13:50.980899 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.980905 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.980911 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.980917 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.980922 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.980928 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.980934 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.980940 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.980948 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.980954 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.980959 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.980965 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.980971 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.980977 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.980991 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.980997 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.981003 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.981009 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.981014 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.981020 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.981026 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.981039 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:20 2025-10-01 14:13:50.981045 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-10-01 14:13:50.981050 | controller | not match regex\n logger.go:42: 13:54:21 | keystone_resources/0-deploy_keystone 2025-10-01 14:13:50.981056 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.981062 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.981068 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.981074 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.981080 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.981085 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.981091 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.981097 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.981103 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.981108 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.981114 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.981120 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.981126 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.981131 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.981144 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.981151 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.981157 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.981164 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.981171 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.981177 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.981183 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.981189 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:21 2025-10-01 14:13:50.981197 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-10-01 14:13:50.981203 | controller | not match regex\n logger.go:42: 13:54:22 | keystone_resources/0-deploy_keystone 2025-10-01 14:13:50.981209 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.981214 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.981220 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.981226 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.981232 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.981238 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.981243 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.981252 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.981257 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.981263 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.981269 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.981275 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.981281 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.981286 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.981429 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.981435 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.981441 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.981446 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.981456 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.981461 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.981467 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.981473 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:22 2025-10-01 14:13:50.981479 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-10-01 14:13:50.981485 | controller | not match regex\n logger.go:42: 13:54:23 | keystone_resources/0-deploy_keystone 2025-10-01 14:13:50.981490 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.981496 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.981502 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.981508 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.981514 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.981522 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.981528 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.981536 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.981542 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.981548 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.981554 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.981559 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.981565 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.981571 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.981583 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.981588 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.981594 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.981600 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.981606 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.981611 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.981617 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.981623 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:23 2025-10-01 14:13:50.981629 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-10-01 14:13:50.981634 | controller | not match regex\n logger.go:42: 13:54:24 | keystone_resources/0-deploy_keystone 2025-10-01 14:13:50.981640 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.981646 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.981652 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.981657 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.981663 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.981669 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.981685 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.981691 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.981697 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.981703 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.981709 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.981714 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.981720 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.981729 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.981740 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.981746 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.981752 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.981758 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.981764 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.981769 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.981775 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.981781 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:24 2025-10-01 14:13:50.981787 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-10-01 14:13:50.981792 | controller | not match regex\n logger.go:42: 13:54:25 | keystone_resources/0-deploy_keystone 2025-10-01 14:13:50.981798 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.981804 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.981810 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.981815 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.981821 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.981827 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.981833 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.981838 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.981844 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.981851 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.981858 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.981865 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.981870 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.981876 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.981888 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.981893 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.981899 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.981905 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.981911 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.981919 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.981925 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.981931 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:25 2025-10-01 14:13:50.981937 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-10-01 14:13:50.981950 | controller | not match regex\n logger.go:42: 13:54:26 | keystone_resources/0-deploy_keystone 2025-10-01 14:13:50.981956 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.981962 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.981970 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.981976 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.981982 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.981988 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.981995 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.982002 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.982007 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.982013 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.982019 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.982025 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.982030 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.982036 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.982048 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.982053 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.982059 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.982065 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.982071 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.982077 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.982083 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.982088 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:27 2025-10-01 14:13:50.982094 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-10-01 14:13:50.982100 | controller | not match regex\n logger.go:42: 13:54:28 | keystone_resources/0-deploy_keystone 2025-10-01 14:13:50.982106 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.982111 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.982117 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.982126 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.982132 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.982137 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.982143 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.982149 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.982155 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.982160 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.982166 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.982172 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.982178 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.982184 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.982195 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.982219 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.982226 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.982232 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.982238 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.982244 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.982250 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.982255 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:28 2025-10-01 14:13:50.982261 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-10-01 14:13:50.982267 | controller | not match regex\n logger.go:42: 13:54:29 | keystone_resources/0-deploy_keystone 2025-10-01 14:13:50.982273 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.982281 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.982287 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.982298 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.982316 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.982325 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.982333 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.982341 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.982347 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.982353 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.982363 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.982369 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.982375 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.982380 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.982392 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.982413 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.982423 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.982428 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.982434 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.982440 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.982445 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.982451 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:29 2025-10-01 14:13:50.982457 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-10-01 14:13:50.982463 | controller | not match regex\n logger.go:42: 13:54:30 | keystone_resources/0-deploy_keystone 2025-10-01 14:13:50.982468 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.982474 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.982480 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.982486 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.982491 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.982497 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.982503 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.982508 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.982525 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.982531 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.982537 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.982543 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.982549 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.982554 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.982566 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.982572 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.982577 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.982587 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.982592 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.982598 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.982604 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.982610 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:30 2025-10-01 14:13:50.982615 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-10-01 14:13:50.982621 | controller | not match regex\n logger.go:42: 13:54:31 | keystone_resources/0-deploy_keystone 2025-10-01 14:13:50.982630 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.982636 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.982642 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.982648 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.982653 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.982659 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.982665 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.982671 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.982676 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.982682 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.982688 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.982693 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.982699 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.982705 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.982716 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.982722 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.982728 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.982734 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.982739 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.982745 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.982751 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.982756 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:31 2025-10-01 14:13:50.982762 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-10-01 14:13:50.982768 | controller | not match regex\n logger.go:42: 13:54:32 | keystone_resources/0-deploy_keystone 2025-10-01 14:13:50.982774 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.982790 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.982796 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.982802 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.982808 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.982813 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.982819 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.982825 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.982831 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.982836 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.982842 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.982848 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.982853 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.982859 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.982871 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.982876 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.982882 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.982888 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.982893 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.982899 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.982905 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.982911 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:33 2025-10-01 14:13:50.982916 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-10-01 14:13:50.982925 | controller | not match regex\n logger.go:42: 13:54:34 | keystone_resources/0-deploy_keystone 2025-10-01 14:13:50.982931 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.982936 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.982942 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.982948 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.982953 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.982959 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.982965 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.982971 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.982979 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.982985 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.982993 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.982999 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.983005 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.983010 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.983022 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.983027 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.983040 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.983046 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.983052 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.983058 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.983064 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.983070 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:34 2025-10-01 14:13:50.983075 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-10-01 14:13:50.983081 | controller | not match regex\n logger.go:42: 13:54:35 | keystone_resources/0-deploy_keystone 2025-10-01 14:13:50.983088 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.983095 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.983101 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.983108 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.983114 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.983120 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.983126 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.983132 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.983137 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.983143 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.983149 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.983155 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.983160 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.983166 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.983180 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.983186 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.983192 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.983198 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.983203 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.983209 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.983215 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.983220 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:35 2025-10-01 14:13:50.983229 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-10-01 14:13:50.983235 | controller | not match regex\n logger.go:42: 13:54:36 | keystone_resources/0-deploy_keystone 2025-10-01 14:13:50.983240 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.983246 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.983252 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.983258 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.983263 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.983269 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.983275 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.983281 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.983286 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.983292 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.983305 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.983311 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.983317 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.983323 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.983334 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.983340 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.983346 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.983351 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.983357 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.983363 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.983369 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.983374 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:37 2025-10-01 14:13:50.983383 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.983389 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.983395 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.983413 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.983422 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.983427 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.983433 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.983439 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.983448 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.983454 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.983460 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.983465 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.983471 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.983477 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.983483 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.983494 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.983500 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.983506 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.983511 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.983517 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.983523 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.983529 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.983534 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:38 2025-10-01 14:13:50.983542 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.983548 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.983554 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.983560 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.983565 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.983581 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.983588 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.983596 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.983604 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.983633 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.983640 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.983647 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.983655 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.983661 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.983666 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.983678 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.983684 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.983689 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.983695 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.983701 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.983707 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.983712 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.983718 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:40 2025-10-01 14:13:50.983724 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.983730 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.983735 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.983742 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.983749 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.983761 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.983769 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.983775 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.983781 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.983787 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.983792 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.983798 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.983804 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.983809 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.983815 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.983827 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.983832 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.983841 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.983847 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.983914 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.983921 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.983926 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.983932 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:41 2025-10-01 14:13:50.983947 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.983958 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.983964 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.983970 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.983976 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.983981 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.983987 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.983993 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.983999 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.984004 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.984010 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.984016 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.984022 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.984027 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.984033 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.984044 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.984050 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.984056 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.984062 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.984068 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.984073 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.984079 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.984085 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:42 2025-10-01 14:13:50.984091 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.984096 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.984102 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.984111 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.984117 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.984122 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.984128 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.984134 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.984140 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.984146 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.984151 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.984157 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.984163 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.984168 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.984174 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.984186 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.984191 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.984197 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.984210 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.984216 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.984222 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.984228 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.984234 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:43 2025-10-01 14:13:50.984240 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.984245 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.984254 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.984260 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.984266 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.984272 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.984278 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.984283 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.984289 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.984295 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.984301 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.984309 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.984315 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.984321 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.984326 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.984338 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.984344 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.984349 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.984355 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.984361 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.984367 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.984375 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.984381 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:45 2025-10-01 14:13:50.984387 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.984392 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.984418 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.984428 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.984434 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.984440 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.984445 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.984451 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.984457 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.984463 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.984468 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.984474 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.984480 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.984486 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.984499 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.984511 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.984520 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.984526 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.984531 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.984540 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.984546 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.984552 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.984557 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:46 2025-10-01 14:13:50.984563 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.984569 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.984575 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.984583 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.984588 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.984594 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.984600 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.984606 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.984611 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.984617 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.984623 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.984629 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.984634 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.984640 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.984646 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.984657 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.984663 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.984669 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.984674 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.984680 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.984686 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.984692 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.984697 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:47 2025-10-01 14:13:50.984703 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.984709 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.984715 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.984720 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.984726 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.984736 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.984742 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.984748 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.984761 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.984767 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.984773 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.984779 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.984785 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.984790 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.984796 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.984810 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.984816 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.984822 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.984828 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.984834 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.984839 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.984845 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.984851 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:48 2025-10-01 14:13:50.984856 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.984862 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.984868 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.984874 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.984879 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.984885 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.984891 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.984899 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.984904 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.984910 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.984916 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.984922 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.984927 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.984933 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.984942 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.984954 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.984960 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.984966 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.984972 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.984977 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.984983 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.984989 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.984995 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:49 2025-10-01 14:13:50.985000 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.985006 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.985012 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.985018 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.985030 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.985037 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.985043 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.985048 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.985054 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.985060 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.985066 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.985072 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.985078 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.985084 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.985089 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.985101 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.985107 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.985112 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.985118 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.985124 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.985130 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.985135 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.985146 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:51 2025-10-01 14:13:50.985152 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.985158 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.985164 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.985169 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.985175 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.985181 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.985187 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.985193 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.985201 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.985207 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.985212 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.985220 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.985226 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.985232 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.985237 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.985249 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.985255 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.985260 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.985266 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.985272 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.985278 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.985291 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.985297 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:52 2025-10-01 14:13:50.985303 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.985309 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.985314 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.985320 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.985326 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.985332 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.985338 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.985346 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.985352 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.985358 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.985364 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.985369 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.985375 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.985381 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.985387 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.985401 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.985422 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.985428 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.985434 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.985439 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.985445 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.985451 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.985457 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:53 2025-10-01 14:13:50.985462 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.985468 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.985474 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.985480 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.985486 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.985491 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.985497 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.985503 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.985509 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.985517 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.985523 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.985529 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.985534 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.985540 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.985546 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.985560 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.985573 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.985579 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.985585 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.985591 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.985597 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.985603 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.985608 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:54 2025-10-01 14:13:50.985614 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.985620 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.985626 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.985631 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.985637 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.985643 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.985649 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.985654 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.985660 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.985666 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.985672 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.985677 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.985683 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.985689 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.985695 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.985706 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.985712 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.985718 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.985723 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.985729 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.985735 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.985741 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.985746 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:55 2025-10-01 14:13:50.985752 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.985761 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.985766 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.985772 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.985778 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.985784 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.985790 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.985795 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.985801 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.985807 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.985815 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.985821 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.985834 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.985840 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.985846 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.985857 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.985863 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.985869 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.985875 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.985880 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.985886 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.985892 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.985898 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:56 2025-10-01 14:13:50.985903 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.985909 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.985915 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.985921 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.985926 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.985934 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.985940 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.985946 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.985952 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.985958 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.985967 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.985972 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.985978 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.985984 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.985990 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.986001 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.986007 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.986013 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.986019 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.986027 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.986032 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.986038 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.986044 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:58 2025-10-01 14:13:50.986050 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.986055 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.986061 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.986067 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.986073 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.986078 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.986091 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.986098 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.986103 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.986109 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.986115 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.986121 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.986127 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.986132 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.986141 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.986152 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.986158 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.986164 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.986172 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.986178 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.986184 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.986189 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.986195 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:54:59 2025-10-01 14:13:50.986201 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.986207 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.986212 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.986218 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.986224 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.986230 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.986235 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.986241 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.986247 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.986253 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.986258 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.986264 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.986270 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.986276 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.986282 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.986294 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.986299 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.986305 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.986311 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.986317 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.986322 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.986328 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.986334 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:00 2025-10-01 14:13:50.986340 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.986345 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.986358 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.986364 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.986372 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.986378 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.986384 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.986390 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.986396 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.986415 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.986423 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.986428 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.986434 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.986440 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.986447 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.986461 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.986467 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.986473 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.986479 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.986484 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.986490 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.986496 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.986502 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:01 2025-10-01 14:13:50.986507 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.986513 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.986519 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.986525 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.986530 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.986536 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.986542 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.986548 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.986553 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.986559 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.986565 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.986571 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.986576 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.986588 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.986594 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.986606 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.986614 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.986620 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.986626 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.986639 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.986645 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.986651 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.986657 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:03 2025-10-01 14:13:50.986663 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.986668 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.986674 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.986680 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.986686 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.986691 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.986697 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.986703 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.986709 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.986714 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.986720 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.986726 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.986732 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.986737 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.986743 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.986757 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.986763 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.986769 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.986775 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.986780 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.986789 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.986795 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.986801 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:04 2025-10-01 14:13:50.986807 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.986813 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.986818 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.986824 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.986830 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.986836 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.986841 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.986847 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.986853 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.986859 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.986864 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.986870 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.986876 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.986882 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.986887 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.986906 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.986912 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.986918 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.986923 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.986929 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.986935 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.986941 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.986946 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:05 2025-10-01 14:13:50.986952 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.986958 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.986964 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.986969 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.986975 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.986981 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.986990 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.986995 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.987001 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.987007 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.987013 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.987018 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.987024 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.987030 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.987036 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.987047 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.987053 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.987059 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.987067 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.987073 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.987078 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.987084 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.987090 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:06 2025-10-01 14:13:50.987096 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.987101 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.987107 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.987113 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.987118 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.987124 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.987130 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.987136 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.987142 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.987147 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.987160 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.987166 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.987172 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.987178 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.987183 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.987198 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.987203 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.987209 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.987215 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.987221 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.987227 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.987232 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.987238 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:08 2025-10-01 14:13:50.987244 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.987250 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.987256 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.987261 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.987267 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.987273 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.987279 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.987284 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.987293 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.987299 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.987305 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.987311 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.987318 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.987324 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.987330 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.987342 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.987347 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.987353 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.987359 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.987365 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.987373 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.987378 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.987384 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:09 2025-10-01 14:13:50.987393 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.987413 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.987421 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.987427 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.987433 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.987446 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.987452 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.987458 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.987463 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.987469 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.987475 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.987481 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.987486 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.987492 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.987498 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.987509 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.987515 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.987521 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.987526 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.987532 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.987538 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.987544 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.987549 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:10 2025-10-01 14:13:50.987555 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.987561 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.987566 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.987572 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.987578 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.987583 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.987589 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.987595 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.987601 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.987610 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.987616 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.987622 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.987661 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.987666 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.987672 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.987684 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.987690 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.987695 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.987701 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.987707 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.987713 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.987722 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.987734 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:11 2025-10-01 14:13:50.987741 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.987746 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.987752 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.987758 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.987764 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.987770 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.987775 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.987781 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.987787 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.987793 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.987798 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.987804 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.987810 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.987816 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.987821 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.987833 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.987839 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.987847 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.987853 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.987859 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.987865 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.987871 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.987876 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:12 2025-10-01 14:13:50.987882 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.987888 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.987894 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.987899 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.987905 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.987911 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.987917 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.987922 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.987928 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.987934 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.987940 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.987945 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.987951 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.987957 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.987963 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.987974 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.987980 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.987992 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.987998 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.988004 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.988009 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.988015 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.988024 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:13 2025-10-01 14:13:50.988030 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.988036 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.988041 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.988053 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.988059 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.988067 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.988075 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.988081 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.988087 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.988092 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.988098 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.988104 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.988109 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.988115 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.988121 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.988132 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.988138 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.988144 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.988150 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.988155 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.988161 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.988167 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.988173 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:15 2025-10-01 14:13:50.988178 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.988184 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.988190 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.988196 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.988202 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.988207 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.988213 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.988219 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.988225 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.988230 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.988236 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.988242 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.988250 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.988263 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.988269 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.988281 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.988287 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.988293 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.988298 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.988304 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.988310 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.988316 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.988321 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:16 2025-10-01 14:13:50.988329 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.988335 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.988341 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.988347 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.988352 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.988358 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.988364 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.988370 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.988376 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.988381 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.988387 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.988393 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.988418 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.988428 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.988434 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.988446 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.988452 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.988457 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.988463 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.988472 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.988478 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.988484 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.988489 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:17 2025-10-01 14:13:50.988495 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.988501 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.988507 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.988513 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.988518 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.988524 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.988530 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.988536 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.988549 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.988556 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.988562 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.988567 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.988573 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.988579 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.988585 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.988600 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.988606 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.988611 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.988617 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.988623 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.988629 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.988634 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.988640 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:18 2025-10-01 14:13:50.988646 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.988654 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.988660 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.988666 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.988671 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.988680 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.988686 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.988692 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.988698 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.988703 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.988709 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.988715 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.988721 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.988726 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.988732 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.988744 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.988752 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.988758 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.988764 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.988769 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.988775 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.988781 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.988787 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:19 2025-10-01 14:13:50.988792 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.988798 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.988804 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.988817 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.988823 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.988829 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.988834 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.988840 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.988846 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.988852 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.988857 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.988863 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.988869 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.988875 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.988883 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.988895 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.988901 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.988906 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.988912 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.988918 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.988924 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.988930 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.988935 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:21 2025-10-01 14:13:50.988941 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.988947 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.988955 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.988961 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.988967 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.988972 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.988978 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.988984 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.988990 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.988995 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.989001 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.989007 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.989013 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.989018 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.989024 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.989036 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.989041 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.989047 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.989053 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.989059 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.989071 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.989078 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.989088 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:22 2025-10-01 14:13:50.989095 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.989101 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.989108 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.989115 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.989120 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.989126 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.989132 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.989138 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.989143 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.989149 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.989155 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.989161 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.989166 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.989172 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.989178 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.989189 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.989195 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.989201 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.989207 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.989212 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.989218 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.989224 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.989229 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:23 2025-10-01 14:13:50.989235 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.989241 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.989247 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.989255 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.989261 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.989266 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.989272 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.989278 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.989286 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.989292 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.989298 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.989304 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.989309 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.989315 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.989321 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.989339 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.989345 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.989351 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.989357 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.989363 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.989369 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.989374 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.989380 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:24 2025-10-01 14:13:50.989386 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.989392 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.989400 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.989421 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.989427 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.989433 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.989439 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.989444 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.989450 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.989456 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.989462 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.989474 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.989479 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.989485 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.989491 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.989503 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.989511 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.989517 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.989523 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.989529 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.989534 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.989540 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.989546 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:25 2025-10-01 14:13:50.989551 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.989557 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.989563 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.989569 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.989574 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.989580 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.989586 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.989594 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.989600 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.989605 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.989611 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.989625 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.989631 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.989637 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.989643 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.989654 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.989660 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.989666 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.989672 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.989677 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.989683 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.989689 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.989695 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:27 2025-10-01 14:13:50.989701 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.989707 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.989716 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.989722 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.989727 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.989733 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.989739 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.989745 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.989750 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.989756 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.989762 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.989768 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.989774 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.989779 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.989785 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.989797 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.989802 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.989808 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.989814 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.989822 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.989828 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.989834 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.989840 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:28 2025-10-01 14:13:50.989846 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.989852 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.989859 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.989866 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.989874 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.989882 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.989899 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.989905 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.989914 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.989920 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.989929 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.989935 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.989941 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.989946 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.989952 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.989966 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.989973 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.989980 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.989987 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.989994 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.990001 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.990007 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.990013 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:29 2025-10-01 14:13:50.990019 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.990024 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.990030 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.990036 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.990042 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.990047 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.990053 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.990059 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.990065 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.990071 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.990076 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.990082 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.990088 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.990094 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.990099 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.990111 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.990117 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.990122 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.990131 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.990137 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.990143 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.990149 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.990154 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:30 2025-10-01 14:13:50.990160 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.990174 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.990180 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.990186 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.990192 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.990201 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.990206 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.990212 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.990218 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.990226 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.990232 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.990237 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.990243 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.990249 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.990255 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.990266 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.990272 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.990278 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.990284 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.990289 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.990295 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.990301 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.990307 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:32 2025-10-01 14:13:50.990312 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.990318 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.990324 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.990330 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.990338 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.990344 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.990350 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.990356 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.990361 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.990367 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.990373 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.990379 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.990385 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.990390 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.990396 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.990427 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.990433 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.990439 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.990452 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.990458 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.990464 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.990470 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.990476 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:55:32 2025-10-01 14:13:50.990481 | controller | | keystone_resources/0-deploy_keystone | test step completed 0-deploy_keystone\n 2025-10-01 14:13:50.990487 | controller | \ logger.go:42: 13:55:32 | keystone_resources/1-deploy-keystoneservice | starting 2025-10-01 14:13:50.990493 | controller | test step 1-deploy-keystoneservice\n logger.go:42: 13:55:32 | keystone_resources/1-deploy-keystoneservice 2025-10-01 14:13:50.990499 | controller | | KeystoneService:keystone-kuttl-tests/placement created\n logger.go:42: 13:55:34 2025-10-01 14:13:50.990504 | controller | | keystone_resources/1-deploy-keystoneservice | test step completed 1-deploy-keystoneservice\n 2025-10-01 14:13:50.990510 | controller | \ logger.go:42: 13:55:34 | keystone_resources/2-deploy-keystoneendpoint | starting 2025-10-01 14:13:50.990516 | controller | test step 2-deploy-keystoneendpoint\n logger.go:42: 13:55:34 | keystone_resources/2-deploy-keystoneendpoint 2025-10-01 14:13:50.990522 | controller | | KeystoneEndpoint:keystone-kuttl-tests/placement created\n logger.go:42: 13:55:45 2025-10-01 14:13:50.990528 | controller | | keystone_resources/2-deploy-keystoneendpoint | test step completed 2-deploy-keystoneendpoint\n 2025-10-01 14:13:50.990533 | controller | \ logger.go:42: 13:55:45 | keystone_resources/3-cleanup-keystoneendpoint | starting 2025-10-01 14:13:50.990539 | controller | test step 3-cleanup-keystoneendpoint\n logger.go:42: 13:55:46 | keystone_resources/3-cleanup-keystoneendpoint 2025-10-01 14:13:50.990545 | controller | | test step completed 3-cleanup-keystoneendpoint\n logger.go:42: 13:55:46 | keystone_resources/4-cleanup-keystoneservice 2025-10-01 14:13:50.990555 | controller | | starting test step 4-cleanup-keystoneservice\n logger.go:42: 13:55:47 | keystone_resources/4-cleanup-keystoneservice 2025-10-01 14:13:50.990561 | controller | | test step completed 4-cleanup-keystoneservice\n logger.go:42: 13:55:47 | keystone_resources/5-cleanup-keystone 2025-10-01 14:13:50.990566 | controller | | starting test step 5-cleanup-keystone\n logger.go:42: 13:55:51 | keystone_resources/5-cleanup-keystone 2025-10-01 14:13:50.990572 | controller | | test step completed 5-cleanup-keystone\n logger.go:42: 13:55:51 | keystone_resources 2025-10-01 14:13:50.990578 | controller | | skipping kubernetes event logging\n=== CONT kuttl/harness/keystone_tls\n logger.go:42: 2025-10-01 14:13:50.990584 | controller | 13:55:51 | keystone_tls | Skipping creation of user-supplied namespace: keystone-kuttl-tests\n 2025-10-01 14:13:50.990589 | controller | \ logger.go:42: 13:55:51 | keystone_tls/0-tls_ca_bundle | starting test step 0-tls_ca_bundle\n 2025-10-01 14:13:50.990595 | controller | \ logger.go:42: 13:55:51 | keystone_tls/0-tls_ca_bundle | Secret:keystone-kuttl-tests/combined-ca-bundle 2025-10-01 14:13:50.990601 | controller | created\n logger.go:42: 13:55:51 | keystone_tls/0-tls_ca_bundle | Secret:keystone-kuttl-tests/cert-keystone-internal-svc 2025-10-01 14:13:50.990607 | controller | created\n logger.go:42: 13:55:51 | keystone_tls/0-tls_ca_bundle | Secret:keystone-kuttl-tests/cert-keystone-public-svc 2025-10-01 14:13:50.990613 | controller | created\n logger.go:42: 13:55:51 | keystone_tls/0-tls_ca_bundle | test step completed 2025-10-01 14:13:50.990621 | controller | 0-tls_ca_bundle\n logger.go:42: 13:55:51 | keystone_tls/1-keystoneapi_tls_deploy 2025-10-01 14:13:50.990627 | controller | | starting test step 1-keystoneapi_tls_deploy\n logger.go:42: 13:55:51 | keystone_tls/1-keystoneapi_tls_deploy 2025-10-01 14:13:50.990633 | controller | | KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 13:55:52 2025-10-01 14:13:50.990639 | controller | | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.990644 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.990650 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.990656 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.990662 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.990668 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.990673 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.990679 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.990685 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.990691 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.990704 | controller | \ logger.go:42: 13:55:52 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-10-01 14:13:50.990710 | controller | : do not match regex\n logger.go:42: 13:55:53 | keystone_tls/1-keystoneapi_tls_deploy 2025-10-01 14:13:50.990716 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.990721 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.990727 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.990733 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.990739 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.990748 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.990754 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.990759 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.990765 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.990771 | controller | \ logger.go:42: 13:55:53 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-10-01 14:13:50.990777 | controller | : do not match regex\n logger.go:42: 13:55:54 | keystone_tls/1-keystoneapi_tls_deploy 2025-10-01 14:13:50.990782 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.990788 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.990794 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.990800 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.990806 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.990812 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.990817 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.990823 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.990829 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.990835 | controller | \ logger.go:42: 13:55:54 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-10-01 14:13:50.990840 | controller | : do not match regex\n logger.go:42: 13:55:55 | keystone_tls/1-keystoneapi_tls_deploy 2025-10-01 14:13:50.990846 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.990852 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.990858 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.990864 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.990869 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.990875 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.990881 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.990887 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.990892 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.990898 | controller | \ logger.go:42: 13:55:55 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-10-01 14:13:50.990904 | controller | : do not match regex\n logger.go:42: 13:55:56 | keystone_tls/1-keystoneapi_tls_deploy 2025-10-01 14:13:50.990912 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.990918 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.990924 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.990930 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.990941 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.990953 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.990959 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.990965 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.990970 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.990976 | controller | \ logger.go:42: 13:55:56 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-10-01 14:13:50.990983 | controller | : do not match regex\n logger.go:42: 13:55:57 | keystone_tls/1-keystoneapi_tls_deploy 2025-10-01 14:13:50.990989 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.990997 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.991003 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.991009 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.991015 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.991020 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.991026 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.991034 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.991040 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.991046 | controller | \ logger.go:42: 13:55:58 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-10-01 14:13:50.991052 | controller | : do not match regex\n logger.go:42: 13:55:59 | keystone_tls/1-keystoneapi_tls_deploy 2025-10-01 14:13:50.991057 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.991063 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.991069 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.991075 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.991081 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.991087 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.991092 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.991098 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.991104 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.991110 | controller | \ logger.go:42: 13:55:59 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-10-01 14:13:50.991116 | controller | : do not match regex\n logger.go:42: 13:56:00 | keystone_tls/1-keystoneapi_tls_deploy 2025-10-01 14:13:50.991121 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.991127 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.991136 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.991141 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.991147 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.991153 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.991159 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.991165 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.991171 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.991176 | controller | \ logger.go:42: 13:56:00 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-10-01 14:13:50.991182 | controller | : do not match regex\n logger.go:42: 13:56:01 | keystone_tls/1-keystoneapi_tls_deploy 2025-10-01 14:13:50.991188 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.991194 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.991207 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.991213 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.991219 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.991224 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.991233 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.991239 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.991245 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.991251 | controller | \ logger.go:42: 13:56:01 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-10-01 14:13:50.991257 | controller | : do not match regex\n logger.go:42: 13:56:02 | keystone_tls/1-keystoneapi_tls_deploy 2025-10-01 14:13:50.991262 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.991268 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.991274 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.991280 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.991286 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.991291 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.991297 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.991303 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.991309 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.991314 | controller | \ logger.go:42: 13:56:02 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-10-01 14:13:50.991320 | controller | : do not match regex\n logger.go:42: 13:56:03 | keystone_tls/1-keystoneapi_tls_deploy 2025-10-01 14:13:50.991326 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.991337 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.991343 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.991348 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.991354 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.991360 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.991366 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.991371 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.991377 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.991383 | controller | \ logger.go:42: 13:56:03 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-10-01 14:13:50.991389 | controller | : do not match regex\n logger.go:42: 13:56:04 | keystone_tls/1-keystoneapi_tls_deploy 2025-10-01 14:13:50.991395 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.991413 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.991423 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.991428 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.991434 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.991440 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.991446 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.991452 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.991457 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.991471 | controller | \ logger.go:42: 13:56:05 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-10-01 14:13:50.991477 | controller | : do not match regex\n logger.go:42: 13:56:06 | keystone_tls/1-keystoneapi_tls_deploy 2025-10-01 14:13:50.991483 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.991489 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.991495 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.991501 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.991507 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.991512 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.991518 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.991524 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.991530 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.991538 | controller | \ logger.go:42: 13:56:06 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-10-01 14:13:50.991547 | controller | : do not match regex\n logger.go:42: 13:56:07 | keystone_tls/1-keystoneapi_tls_deploy 2025-10-01 14:13:50.991553 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.991559 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.991565 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.991573 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.991579 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.991585 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.991590 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.991596 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.991602 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.991608 | controller | \ logger.go:42: 13:56:07 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-10-01 14:13:50.991613 | controller | : do not match regex\n logger.go:42: 13:56:08 | keystone_tls/1-keystoneapi_tls_deploy 2025-10-01 14:13:50.991619 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.991625 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.991657 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.991664 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.991670 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.991676 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.991682 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.991687 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.991693 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.991699 | controller | \ logger.go:42: 13:56:08 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-10-01 14:13:50.991705 | controller | : do not match regex\n logger.go:42: 13:56:09 | keystone_tls/1-keystoneapi_tls_deploy 2025-10-01 14:13:50.991710 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.991716 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.991722 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.991728 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.991734 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.991746 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.991752 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.991758 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.991768 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.991774 | controller | \ logger.go:42: 13:56:09 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-10-01 14:13:50.991780 | controller | : do not match regex\n logger.go:42: 13:56:10 | keystone_tls/1-keystoneapi_tls_deploy 2025-10-01 14:13:50.991786 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.991791 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.991797 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.991803 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.991809 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.991814 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.991820 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.991826 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.991832 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.991837 | controller | \ logger.go:42: 13:56:11 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-10-01 14:13:50.991843 | controller | : do not match regex\n logger.go:42: 13:56:12 | keystone_tls/1-keystoneapi_tls_deploy 2025-10-01 14:13:50.991849 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.991855 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.991863 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.991869 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.991875 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.991881 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.991887 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.991892 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.991899 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.991905 | controller | \ logger.go:42: 13:56:12 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-10-01 14:13:50.991911 | controller | : do not match regex\n logger.go:42: 13:56:13 | keystone_tls/1-keystoneapi_tls_deploy 2025-10-01 14:13:50.991916 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:50.991922 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:50.991928 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:50.991934 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.991939 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.991945 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.991951 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.991959 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.991965 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.991971 | controller | \ logger.go:42: 13:56:14 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.991977 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.991982 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.991988 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.992001 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.992010 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.992016 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.992022 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.992027 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.992033 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.992039 | controller | \ logger.go:42: 13:56:15 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.992045 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.992051 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.992056 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.992062 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.992068 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.992074 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.992079 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.992085 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.992091 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.992097 | controller | \ logger.go:42: 13:56:16 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.992102 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.992108 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.992114 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.992119 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.992125 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.992131 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.992137 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.992143 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.992151 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.992160 | controller | \ logger.go:42: 13:56:18 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.992165 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.992171 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.992177 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.992183 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.992188 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.992199 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.992205 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.992211 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.992216 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.992222 | controller | \ logger.go:42: 13:56:19 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.992228 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.992234 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.992240 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.992245 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.992258 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.992264 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.992270 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.992279 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.992285 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.992290 | controller | \ logger.go:42: 13:56:20 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.992296 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.992302 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.992308 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.992313 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.992319 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.992325 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.992331 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.992336 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.992342 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.992348 | controller | \ logger.go:42: 13:56:21 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.992354 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.992362 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.992369 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.992375 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.992380 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.992386 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.992392 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.992398 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.992419 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.992426 | controller | \ logger.go:42: 13:56:22 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.992431 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.992440 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.992446 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.992451 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.992457 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.992463 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.992469 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.992474 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.992480 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.992486 | controller | \ logger.go:42: 13:56:23 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.992492 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.992497 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.992503 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.992509 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.992515 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.992520 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.992534 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.992540 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.992546 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.992552 | controller | \ logger.go:42: 13:56:25 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.992558 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.992563 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.992569 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.992575 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.992584 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.992590 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.992596 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.992601 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.992607 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.992613 | controller | \ logger.go:42: 13:56:26 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.992619 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.992624 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.992630 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.992636 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.992642 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.992647 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.992653 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.992659 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.992665 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.992670 | controller | \ logger.go:42: 13:56:27 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.992676 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.992682 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.992687 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.992693 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.992699 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.992705 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.992711 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.992719 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.992724 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.992730 | controller | \ logger.go:42: 13:56:28 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.992736 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.992742 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.992747 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.992753 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.992759 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.992768 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.992774 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.992780 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.992793 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.992799 | controller | \ logger.go:42: 13:56:29 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.992805 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.992810 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.992816 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.992822 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.992828 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.992834 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.992840 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.992846 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.992851 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.992857 | controller | \ logger.go:42: 13:56:31 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.992863 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.992869 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.992874 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.992880 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.992888 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.992894 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.992900 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.992906 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.992912 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.992917 | controller | \ logger.go:42: 13:56:32 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.992923 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.992929 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.992935 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.992940 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.992946 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.992952 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.992958 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.992963 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.992972 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.992978 | controller | \ logger.go:42: 13:56:33 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.992986 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.992992 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.992997 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.993003 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.993009 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.993015 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.993020 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.993026 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.993032 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.993038 | controller | \ logger.go:42: 13:56:34 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.993050 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.993056 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.993062 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.993068 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.993074 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.993080 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.993086 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.993091 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.993097 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.993103 | controller | \ logger.go:42: 13:56:35 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.993109 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.993114 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.993120 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.993126 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.993132 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.993137 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.993143 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.993149 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.993155 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.993160 | controller | \ logger.go:42: 13:56:36 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.993169 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.993175 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.993180 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.993189 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.993195 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.993201 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.993206 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.993212 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.993218 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.993224 | controller | \ logger.go:42: 13:56:38 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.993229 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.993235 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.993241 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.993247 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.993252 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.993259 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.993267 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.993273 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.993279 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.993284 | controller | \ logger.go:42: 13:56:39 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.993290 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.993296 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.993308 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.993314 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.993320 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.993326 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.993331 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.993337 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.993343 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.993349 | controller | \ logger.go:42: 13:56:40 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.993355 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.993360 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.993369 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.993375 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.993381 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.993386 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.993392 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.993401 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.993420 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.993426 | controller | \ logger.go:42: 13:56:41 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.993432 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.993438 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.993444 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.993449 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.993455 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.993461 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.993467 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.993473 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.993478 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.993484 | controller | \ logger.go:42: 13:56:42 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.993490 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.993496 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.993501 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.993507 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.993513 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.993519 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.993524 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.993530 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.993536 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.993544 | controller | \ logger.go:42: 13:56:43 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.993550 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.993556 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.993562 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.993575 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.993586 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.993592 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.993598 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.993604 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.993610 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.993615 | controller | \ logger.go:42: 13:56:45 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.993621 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.993627 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.993633 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.993639 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.993644 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.993653 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.993659 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.993665 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.993671 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.993676 | controller | \ logger.go:42: 13:56:46 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.993682 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.993688 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.993694 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.993699 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.993705 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.993711 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.993717 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.993723 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.993728 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.993734 | controller | \ logger.go:42: 13:56:47 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.993740 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.993746 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.993751 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.993757 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.993765 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.993771 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.993779 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.993785 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.993791 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.993797 | controller | \ logger.go:42: 13:56:48 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.993803 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.993808 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.993827 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.993833 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.993839 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.993852 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.993859 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.993865 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.993870 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.993876 | controller | \ logger.go:42: 13:56:49 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.993882 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.993888 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.993894 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.993899 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.993905 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.993911 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.993917 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.993923 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.993928 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.993934 | controller | \ logger.go:42: 13:56:50 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.993940 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.993946 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.993951 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.993957 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.993963 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.993969 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.993974 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.993980 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.993986 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.993995 | controller | \ logger.go:42: 13:56:52 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:50.994001 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-10-01 14:13:50.994006 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:50.994012 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-10-01 14:13:50.994018 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.994024 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.994029 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.994035 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.994041 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.994047 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-10-01 14:13:50.994052 | controller | \ logger.go:42: 13:56:52 | keystone_tls/1-keystoneapi_tls_deploy | test step completed 2025-10-01 14:13:50.994058 | controller | 1-keystoneapi_tls_deploy\n logger.go:42: 13:56:52 | keystone_tls/2-cleanup-keystone 2025-10-01 14:13:50.994064 | controller | | starting test step 2-cleanup-keystone\n logger.go:42: 13:56:56 | keystone_tls/2-cleanup-keystone 2025-10-01 14:13:50.994070 | controller | | test step completed 2-cleanup-keystone\n logger.go:42: 13:56:56 | keystone_tls 2025-10-01 14:13:50.994075 | controller | | skipping kubernetes event logging\n=== CONT kuttl/harness/keystone_scale\n logger.go:42: 2025-10-01 14:13:50.994081 | controller | 13:56:56 | keystone_scale | Skipping creation of user-supplied namespace: keystone-kuttl-tests\n 2025-10-01 14:13:50.994087 | controller | \ logger.go:42: 13:56:56 | keystone_scale/0-deploy_keystone | starting test step 2025-10-01 14:13:50.994093 | controller | 0-deploy_keystone\n logger.go:42: 13:56:56 | keystone_scale/0-deploy_keystone 2025-10-01 14:13:50.994105 | controller | | KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 13:56:56 2025-10-01 14:13:50.994114 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:50.994120 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:50.994126 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:50.994132 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:50.994138 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.994144 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.994149 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.994155 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.994161 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.994167 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.994172 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.994178 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.994184 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.994190 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.994198 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.994210 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.994216 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.994221 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.994227 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.994233 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.994239 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.994245 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.994250 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:56:56 2025-10-01 14:13:50.994256 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.994262 | controller | match regex\n logger.go:42: 13:56:57 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.994268 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.994274 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.994280 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.994286 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.994292 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.994298 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.994303 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.994309 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.994315 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.994321 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.994326 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.994332 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.994338 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.994344 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.994361 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.994368 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.994374 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.994380 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.994386 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.994394 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.994422 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.994432 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:56:57 2025-10-01 14:13:50.994440 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.994446 | controller | match regex\n logger.go:42: 13:56:59 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.994453 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.994458 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.994464 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.994470 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.994476 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.994482 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.994487 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.994493 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.994499 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.994505 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.994510 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.994519 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.994525 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.994530 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.994542 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.994548 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.994554 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.994559 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.994565 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.994571 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.994577 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.994582 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:56:59 2025-10-01 14:13:50.994588 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.994594 | controller | match regex\n logger.go:42: 13:57:00 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.994600 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.994605 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.994611 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.994621 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.994626 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.994632 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.994638 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.994644 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.994657 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.994663 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.994669 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.994675 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.994681 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.994687 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.994698 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.994704 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.994710 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.994715 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.994721 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.994727 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.994733 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.994741 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:00 2025-10-01 14:13:50.994747 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.994753 | controller | match regex\n logger.go:42: 13:57:01 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.994759 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.994765 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.994771 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.994777 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.994783 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.994788 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.994794 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.994800 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.994806 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.994813 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.994821 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.994827 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.994833 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.994839 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.994851 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.994857 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.994862 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.994868 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.994874 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.994880 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.994886 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.994892 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:01 2025-10-01 14:13:50.994898 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.994903 | controller | match regex\n logger.go:42: 13:57:02 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.994916 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.994922 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.994928 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.994934 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.994940 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.994946 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.994952 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.994958 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.994964 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.994970 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.994975 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.994981 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.994987 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.994993 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.995007 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.995013 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.995019 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.995030 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.995036 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.995042 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.995050 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.995056 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:02 2025-10-01 14:13:50.995062 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.995068 | controller | match regex\n logger.go:42: 13:57:03 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.995074 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.995080 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.995085 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.995091 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.995097 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.995103 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.995109 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.995115 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.995120 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.995126 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.995132 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.995138 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.995144 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.995150 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.995161 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.995167 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.995180 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.995187 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.995193 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.995198 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.995204 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.995210 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:03 2025-10-01 14:13:50.995216 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.995222 | controller | match regex\n logger.go:42: 13:57:04 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.995228 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.995237 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.995243 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.995248 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.995254 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.995263 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.995269 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.995274 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.995280 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.995286 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.995292 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.995298 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.995304 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.995310 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.995321 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.995327 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.995333 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.995339 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.995345 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.995353 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.995359 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.995365 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:05 2025-10-01 14:13:50.995371 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.995376 | controller | match regex\n logger.go:42: 13:57:06 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.995382 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.995388 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.995394 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.995415 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.995423 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.995429 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.995435 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.995441 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.995450 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.995456 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.995469 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.995475 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.995481 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.995487 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.995499 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.995505 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.995510 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.995516 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.995522 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.995528 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.995534 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.995539 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:06 2025-10-01 14:13:50.995545 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.995551 | controller | match regex\n logger.go:42: 13:57:07 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.995557 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.995562 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.995568 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.995574 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.995583 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.995589 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.995595 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.995601 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.995606 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.995612 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.995618 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.995624 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.995629 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.995636 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.995666 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.995675 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.995681 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.995686 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.995695 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.995701 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.995707 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.995712 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:07 2025-10-01 14:13:50.995718 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.995724 | controller | match regex\n logger.go:42: 13:57:08 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.995730 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.995735 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.995741 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.995756 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.995762 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.995768 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.995774 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.995779 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.995785 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.995791 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.995797 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.995803 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.995809 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.995814 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.995826 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.995832 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.995837 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.995843 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.995849 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.995855 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.995860 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.995866 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:08 2025-10-01 14:13:50.995875 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.995899 | controller | match regex\n logger.go:42: 13:57:09 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.995904 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.995910 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.995916 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.995922 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.995928 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.995933 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.995939 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.995945 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.995951 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.995956 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.995962 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.995968 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.995974 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.995979 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.995994 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.995999 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.996005 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.996011 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.996026 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.996033 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.996039 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.996044 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:09 2025-10-01 14:13:50.996050 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.996056 | controller | match regex\n logger.go:42: 13:57:10 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.996062 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.996068 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.996073 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.996079 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.996085 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.996091 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.996099 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.996105 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.996111 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.996117 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.996122 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.996128 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.996134 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.996140 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.996151 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.996157 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.996163 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.996169 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.996174 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.996180 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.996186 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.996192 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:11 2025-10-01 14:13:50.996197 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.996203 | controller | match regex\n logger.go:42: 13:57:12 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.996209 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.996215 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.996220 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.996226 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.996232 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.996238 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.996244 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.996249 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.996255 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.996261 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.996267 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.996272 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.996285 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.996294 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.996309 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.996315 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.996320 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.996326 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.996332 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.996338 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.996343 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.996349 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:12 2025-10-01 14:13:50.996355 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.996361 | controller | match regex\n logger.go:42: 13:57:13 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.996367 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.996372 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.996378 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.996384 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.996390 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.996395 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.996421 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.996427 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.996433 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.996439 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.996445 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.996450 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.996456 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.996462 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.996474 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.996479 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.996485 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.996491 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.996497 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.996502 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.996514 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.996520 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:13 2025-10-01 14:13:50.996525 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.996531 | controller | match regex\n logger.go:42: 13:57:14 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.996537 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.996543 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.996548 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.996554 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.996567 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.996573 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.996579 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.996585 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.996591 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.996597 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.996602 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.996608 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.996614 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.996622 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.996634 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.996640 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.996646 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.996651 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.996657 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.996663 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.996669 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.996674 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:14 2025-10-01 14:13:50.996680 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.996686 | controller | match regex\n logger.go:42: 13:57:15 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.996692 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.996697 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.996703 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.996709 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.996718 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.996723 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.996729 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.996735 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.996741 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.996746 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.996752 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.996761 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.996767 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.996772 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.996784 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.996790 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.996796 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.996801 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.996807 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.996813 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.996825 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.996832 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:15 2025-10-01 14:13:50.996837 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.996843 | controller | match regex\n logger.go:42: 13:57:16 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.996849 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.996855 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.996861 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.996866 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.996872 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.996878 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.996883 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.996889 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.996895 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.996903 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.996909 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.996917 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.996923 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.996929 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.996941 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.996946 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.996952 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.996958 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.996966 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.996972 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.996978 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.996983 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:16 2025-10-01 14:13:50.996991 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.996997 | controller | match regex\n logger.go:42: 13:57:17 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.997003 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.997009 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.997015 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.997020 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.997026 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.997032 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.997038 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.997044 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.997049 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.997055 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.997061 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.997067 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.997073 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.997078 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.997098 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.997104 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.997109 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.997118 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.997124 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.997129 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.997135 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.997141 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:18 2025-10-01 14:13:50.997147 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.997152 | controller | match regex\n logger.go:42: 13:57:19 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.997158 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.997164 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.997170 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.997176 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.997181 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.997187 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.997193 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.997199 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.997207 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.997213 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.997218 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.997224 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.997230 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.997236 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.997247 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.997253 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.997259 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.997264 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.997270 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.997277 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.997283 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.997288 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:19 2025-10-01 14:13:50.997294 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.997300 | controller | match regex\n logger.go:42: 13:57:20 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.997306 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.997314 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.997320 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.997326 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.997331 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.997337 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.997349 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.997356 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.997362 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.997368 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.997373 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.997380 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.997386 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.997392 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.997420 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.997426 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.997432 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.997438 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.997443 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.997449 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.997455 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.997461 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:20 2025-10-01 14:13:50.997467 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.997472 | controller | match regex\n logger.go:42: 13:57:21 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.997478 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.997484 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.997490 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.997495 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.997501 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.997510 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.997516 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.997524 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.997529 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.997538 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.997544 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.997550 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.997555 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.997561 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.997573 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.997578 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.997584 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.997590 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.997596 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.997601 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.997607 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.997613 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:21 2025-10-01 14:13:50.997619 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.997633 | controller | match regex\n logger.go:42: 13:57:22 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.997639 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.997645 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.997651 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.997656 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.997662 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.997668 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.997674 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.997680 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.997685 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.997691 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.997697 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.997703 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.997708 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.997714 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.997725 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.997734 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.997740 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.997745 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.997751 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.997757 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.997763 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.997768 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:22 2025-10-01 14:13:50.997774 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.997780 | controller | match regex\n logger.go:42: 13:57:23 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.997786 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.997791 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.997797 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.997803 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.997809 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.997815 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.997825 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.997831 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.997837 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.997843 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.997848 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.997854 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.997860 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.997866 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.997877 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.997890 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.997896 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.997901 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.997908 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.997913 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.997919 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.997925 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:24 2025-10-01 14:13:50.997931 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.997941 | controller | match regex\n logger.go:42: 13:57:25 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.997946 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.997952 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.997958 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.997964 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.997970 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.997975 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.997981 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.997987 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.997993 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.997998 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.998004 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.998010 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.998016 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.998021 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.998033 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.998038 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.998044 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.998050 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.998056 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.998062 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.998067 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.998073 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:25 2025-10-01 14:13:50.998079 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.998086 | controller | match regex\n logger.go:42: 13:57:26 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.998093 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.998099 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.998109 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.998115 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.998121 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.998127 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.998135 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.998141 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.998153 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.998159 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.998165 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.998171 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.998177 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.998183 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.998194 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.998200 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.998206 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.998211 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.998220 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.998226 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.998231 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.998237 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:26 2025-10-01 14:13:50.998243 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.998249 | controller | match regex\n logger.go:42: 13:57:27 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.998254 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.998260 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.998266 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.998272 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.998277 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.998283 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.998289 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.998295 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.998300 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.998306 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.998312 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.998318 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.998324 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.998329 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.998344 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.998349 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.998355 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.998361 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.998367 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.998372 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.998378 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.998384 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:27 2025-10-01 14:13:50.998390 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.998395 | controller | match regex\n logger.go:42: 13:57:28 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.998423 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.998443 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.998450 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.998455 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.998462 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.998468 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.998474 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.998480 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.998486 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.998492 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.998497 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.998503 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.998509 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.998515 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.998526 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.998532 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.998538 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.998544 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.998549 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.998555 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.998561 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.998570 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:28 2025-10-01 14:13:50.998576 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.998582 | controller | match regex\n logger.go:42: 13:57:29 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.998587 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.998593 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.998599 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.998605 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.998610 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.998616 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.998622 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.998627 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.998633 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.998639 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.998645 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.998650 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.998656 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.998662 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.998674 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.998679 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.998691 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.998697 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.998703 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.998709 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.998715 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.998721 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:30 2025-10-01 14:13:50.998726 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.998732 | controller | match regex\n logger.go:42: 13:57:31 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.998741 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.998747 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.998752 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.998758 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.998766 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.998772 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.998778 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.998784 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.998790 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.998795 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.998801 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.998807 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.998813 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.998819 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.998830 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.998836 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.998842 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.998847 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.998853 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.998859 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.998865 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.998871 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:31 2025-10-01 14:13:50.998876 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.998882 | controller | match regex\n logger.go:42: 13:57:32 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.998888 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.998894 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.998899 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.998905 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.998914 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.998920 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.998926 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.998932 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.998937 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.998943 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.998956 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.998962 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.998973 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.998979 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.998991 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.998997 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.999003 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.999011 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.999017 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.999023 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.999029 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.999034 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:32 2025-10-01 14:13:50.999040 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.999046 | controller | match regex\n logger.go:42: 13:57:33 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.999054 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.999060 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.999066 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.999072 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.999078 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.999084 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.999089 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.999095 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.999101 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.999107 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.999112 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.999118 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.999124 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.999130 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.999141 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.999147 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.999153 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.999158 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.999169 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.999175 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.999181 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.999187 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:33 2025-10-01 14:13:50.999193 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.999198 | controller | match regex\n logger.go:42: 13:57:34 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.999204 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.999210 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.999216 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.999229 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.999235 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.999241 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.999246 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.999252 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.999258 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.999264 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.999270 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.999275 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.999281 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.999287 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.999298 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.999304 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.999310 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.999316 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.999321 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.999327 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.999333 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.999339 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:34 2025-10-01 14:13:50.999347 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.999353 | controller | match regex\n logger.go:42: 13:57:35 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.999359 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.999365 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.999373 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.999379 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.999385 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.999390 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.999396 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.999420 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.999427 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.999433 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.999439 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.999444 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.999450 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.999456 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.999468 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.999473 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.999479 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.999485 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.999491 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.999503 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.999509 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:50.999515 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:36 2025-10-01 14:13:50.999521 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:50.999526 | controller | match regex\n logger.go:42: 13:57:37 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:50.999532 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:50.999538 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:50.999544 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:50.999550 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:50.999555 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:50.999561 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:50.999567 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:50.999573 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:50.999578 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:50.999587 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:50.999593 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:50.999599 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:50.999605 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:50.999610 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:50.999622 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:50.999628 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:50.999633 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:50.999639 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:50.999646 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:50.999982 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:50.999988 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.000007 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:37 2025-10-01 14:13:51.000013 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:51.000019 | controller | match regex\n logger.go:42: 13:57:38 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:51.000025 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.000031 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:51.000036 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:51.000042 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.000048 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.000056 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.000062 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.000068 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.000074 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.000079 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.000085 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.000091 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.000110 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.000116 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.000128 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.000134 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.000142 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.000148 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.000154 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.000160 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.000166 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.000171 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:38 2025-10-01 14:13:51.000177 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:51.000183 | controller | match regex\n logger.go:42: 13:57:39 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:51.000189 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.000195 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:51.000200 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:51.000206 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.000212 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.000218 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.000224 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.000229 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.000235 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.000241 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.000247 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.000252 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.000258 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.000264 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.000275 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.000281 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.000287 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.000293 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.000298 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.000304 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.000319 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.000325 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:39 2025-10-01 14:13:51.000331 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:51.000337 | controller | match regex\n logger.go:42: 13:57:40 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:51.000349 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.000356 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:51.000362 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:51.000368 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.000380 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.000387 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.000393 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.000413 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.000423 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.000429 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.000434 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.000440 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.000446 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.000452 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.000463 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.000469 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.000475 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.000480 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.000486 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.000492 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.000498 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.000503 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:40 2025-10-01 14:13:51.000509 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:51.000515 | controller | match regex\n logger.go:42: 13:57:41 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:51.000521 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.000527 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:51.000532 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:51.000538 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.000544 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.000551 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.000556 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.000565 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.000571 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.000577 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.000582 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.000588 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.000594 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.000600 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.000611 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.000617 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.000623 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.000628 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.000634 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.000644 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.000649 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.000668 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:41 2025-10-01 14:13:51.000675 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:51.000681 | controller | match regex\n logger.go:42: 13:57:42 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:51.000686 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.000692 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:51.000698 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:51.000704 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.000710 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.000715 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.000721 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.000727 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.000733 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.000738 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.000744 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.000750 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.000756 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.000761 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.000776 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.000782 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.000787 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.000793 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.000802 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.000807 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.000813 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.000819 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:43 2025-10-01 14:13:51.000825 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-10-01 14:13:51.000831 | controller | match regex\n logger.go:42: 13:57:44 | keystone_scale/0-deploy_keystone | running 2025-10-01 14:13:51.000836 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.000842 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-10-01 14:13:51.000848 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-10-01 14:13:51.000853 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.000859 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.000865 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.000871 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.000877 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.000882 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.000888 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.000894 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.000900 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.000905 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.000911 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.000930 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.000936 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.000942 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.000950 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.000956 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.000962 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.000968 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.000976 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:45 2025-10-01 14:13:51.000982 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.000988 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.000993 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.000999 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.001005 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.001011 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.001016 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.001022 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.001028 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.001034 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.001039 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.001045 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.001051 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.001057 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.001062 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.001074 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.001080 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.001087 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.001094 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.001100 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.001107 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.001114 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.001119 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:46 2025-10-01 14:13:51.001125 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.001131 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.001137 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.001142 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.001148 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.001154 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.001160 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.001165 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.001185 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.001191 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.001208 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.001214 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.001220 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.001226 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.001231 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.001243 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.001249 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.001255 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.001260 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.001266 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.001275 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.001281 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.001287 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:47 2025-10-01 14:13:51.001293 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.001298 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.001304 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.001310 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.001316 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.001321 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.001327 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.001333 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.001339 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.001344 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.001350 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.001356 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.001362 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.001368 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.001373 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.001385 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.001393 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.001417 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.001426 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.001432 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.001438 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.001444 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.001450 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:48 2025-10-01 14:13:51.001455 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.001461 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.001467 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.001473 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.001478 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.001491 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.001497 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.001503 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.001509 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.001515 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.001521 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.001527 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.001536 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.001542 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.001547 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.001559 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.001565 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.001570 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.001576 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.001582 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.001588 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.001596 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.001602 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:50 2025-10-01 14:13:51.001608 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.001613 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.001622 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.001628 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.001634 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.001639 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.001645 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.001651 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.001657 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.001662 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.001668 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.001674 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.001680 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.001685 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.001691 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.001703 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.001709 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.001714 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.001720 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.001726 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.001732 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.001737 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.001743 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:51 2025-10-01 14:13:51.001756 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.001762 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.001768 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.001773 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.001779 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.001785 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.001791 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.001797 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.001803 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.001808 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.001814 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.001823 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.001829 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.001834 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.001840 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.001852 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.001857 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.001863 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.001869 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.001875 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.001880 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.001886 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.001894 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:52 2025-10-01 14:13:51.001900 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.001906 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.001912 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.001917 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.001923 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.001929 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.001935 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.001940 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.001946 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.001953 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.001959 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.001964 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.001970 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.001976 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.001982 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.001993 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.001999 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.002011 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.002018 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.002026 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.002032 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.002038 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.002044 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:53 2025-10-01 14:13:51.002049 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.002055 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.002061 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.002067 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.002072 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.002078 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.002084 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.002090 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.002095 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.002101 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.002107 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.002113 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.002119 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.002124 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.002130 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.002142 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.002147 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.002153 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.002159 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.002165 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.002170 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.002176 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.002182 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:54 2025-10-01 14:13:51.002190 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.002196 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.002202 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.002207 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.002213 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.002222 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.002230 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.002236 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.002242 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.002247 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.002253 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.002259 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.002265 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.002277 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.002283 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.002295 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.002301 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.002307 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.002313 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.002318 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.002324 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.002330 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.002336 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:56 2025-10-01 14:13:51.002341 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.002347 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.002353 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.002359 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.002364 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.002370 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.002376 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.002381 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.002387 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.002393 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.002412 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.002421 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.002427 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.002432 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.002441 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.002456 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.002461 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.002467 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.002473 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.002479 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.002485 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.002490 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.002496 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:57 2025-10-01 14:13:51.002502 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.002513 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.002519 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.002525 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.002531 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.002536 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.002542 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.002548 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.002561 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.002568 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.002574 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.002579 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.002585 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.002591 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.002597 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.002609 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.002617 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.002623 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.002629 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.002635 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.002640 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.002649 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.002655 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:58 2025-10-01 14:13:51.002661 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.002666 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.002672 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.002678 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.002684 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.002689 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.002695 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.002701 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.002707 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.002713 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.002718 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.002724 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.002730 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.002736 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.002741 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.002753 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.002759 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.002764 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.002770 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.002776 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.002782 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.002787 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.002793 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:57:59 2025-10-01 14:13:51.002799 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.002805 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.002813 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.002819 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.002832 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.002838 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.002844 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.002852 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.002858 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.002864 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.002870 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.002876 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.002881 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.002887 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.002893 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.002904 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.002910 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.002916 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.002922 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.002930 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.002936 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.002942 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.002948 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:58:00 2025-10-01 14:13:51.002954 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.002960 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.002965 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.002971 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.002977 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.002983 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.002988 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.002994 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.003000 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.003006 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.003011 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.003017 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.003023 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.003029 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.003034 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.003049 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.003055 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.003061 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.003066 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.003072 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.003078 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.003094 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.003100 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:58:02 2025-10-01 14:13:51.003106 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.003112 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.003118 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.003126 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.003132 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.003138 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.003144 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.003150 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.003156 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.003162 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.003168 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.003174 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.003179 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.003185 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.003191 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.003203 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.003209 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.003215 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.003220 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.003226 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.003232 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.003238 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.003244 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:58:03 2025-10-01 14:13:51.003250 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.003258 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.003264 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.003270 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.003276 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.003282 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.003288 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.003296 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.003303 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.003309 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.003314 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.003320 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.003326 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.003332 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.003338 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.003349 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.003362 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.003368 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.003374 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.003381 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.003387 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.003392 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.003412 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:58:04 2025-10-01 14:13:51.003421 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.003427 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.003433 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.003439 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.003444 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.003450 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.003456 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.003465 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.003471 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.003477 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.003485 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.003491 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.003497 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.003503 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.003509 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.003521 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.003527 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.003532 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.003538 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.003544 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.003550 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.003556 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.003562 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:58:05 2025-10-01 14:13:51.003567 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.003573 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.003579 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.003585 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.003591 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.003597 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.003602 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.003608 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.003614 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.003620 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.003626 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.003632 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.003648 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.003668 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.003676 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.003688 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.003694 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.003700 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.003709 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.003717 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.003723 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.003729 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.003735 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:58:06 2025-10-01 14:13:51.003741 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.003747 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.003752 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.003758 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.003764 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.003770 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.003776 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.003782 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.003793 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.003799 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.003804 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.003810 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.003816 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.003822 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.003828 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.003839 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.003845 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.003851 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.003857 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.003863 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.003869 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.003875 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.003881 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:58:08 2025-10-01 14:13:51.003887 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.003893 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.003899 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.003905 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.003913 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.003919 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.003925 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.003938 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.003945 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.003951 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.003956 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.003962 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.003968 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.003974 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.003980 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.003992 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.003998 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.004003 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.004009 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.004015 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.004021 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.004027 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.004032 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:58:09 2025-10-01 14:13:51.004038 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.004044 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.004050 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.004056 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.004061 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.004067 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.004073 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.004079 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.004085 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.004094 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.004100 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.004106 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.004112 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.004121 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.004127 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.004138 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.004144 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.004150 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.004156 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.004162 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.004168 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.004173 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.004179 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:58:10 2025-10-01 14:13:51.004185 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.004191 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.004204 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.004210 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.004216 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.004222 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.004228 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.004233 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.004239 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.004245 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.004251 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.004257 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.004263 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.004269 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.004274 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.004286 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.004292 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.004298 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.004304 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.004309 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.004315 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.004325 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.004331 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:58:11 2025-10-01 14:13:51.004336 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.004342 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.004348 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.004354 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.004360 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.004366 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.004374 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.004381 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.004387 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.004393 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.004414 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.004425 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.004431 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.004437 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.004443 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.004455 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.004460 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.004466 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.004472 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.004485 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.004492 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.004498 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.004503 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:58:12 2025-10-01 14:13:51.004509 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.004515 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.004521 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.004527 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.004533 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.004539 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.004544 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.004553 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.004559 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.004565 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.004571 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.004577 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.004583 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.004588 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.004594 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.004606 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.004612 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.004617 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.004623 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.004629 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.004635 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.004641 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.004647 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:58:14 2025-10-01 14:13:51.004652 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.004658 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.004664 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.004670 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.004676 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.004682 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.004688 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.004693 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.004699 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.004705 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.004711 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.004717 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.004723 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.004728 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.004737 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.004759 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.004765 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.004771 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.004777 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.004783 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.004789 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.004794 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.004800 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:58:15 2025-10-01 14:13:51.004806 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.004812 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.004818 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.004824 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.004829 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.004835 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.004841 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.004847 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.004853 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.004859 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.004864 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.004870 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.004876 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.004882 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.004888 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.004899 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.004905 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.004911 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.004917 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.004923 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.004929 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.004934 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.004940 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:58:16 2025-10-01 14:13:51.004949 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.004955 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.004960 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.004966 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.004972 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.004978 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.004984 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.004990 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.004999 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.005005 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.005011 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.005024 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.005030 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.005036 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.005042 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.005056 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.005062 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.005068 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.005074 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.005083 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.005089 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.005095 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.005102 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:58:17 2025-10-01 14:13:51.005107 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.005113 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.005119 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.005125 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.005131 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.005137 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.005143 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.005148 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.005154 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.005163 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.005169 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.005175 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.005181 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.005187 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.005192 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.005204 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.005210 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.005216 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.005222 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.005228 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.005233 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.005239 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.005245 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:58:19 2025-10-01 14:13:51.005251 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.005257 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.005262 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.005268 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.005274 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.005287 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.005294 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.005300 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.005306 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.005311 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.005317 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.005323 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.005329 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.005335 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.005341 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.005358 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.005364 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.005373 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.005379 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.005384 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.005390 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.005396 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.005419 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:58:20 2025-10-01 14:13:51.005425 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.005431 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.005437 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.005443 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.005449 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.005455 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.005461 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.005467 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.005473 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.005479 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.005485 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.005491 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.005496 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.005503 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.005509 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.005520 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.005526 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.005532 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.005538 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.005544 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.005550 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.005555 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.005561 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:58:21 2025-10-01 14:13:51.005575 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.005581 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.005587 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.005596 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.005602 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.005608 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.005613 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.005619 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.005625 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.005631 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.005637 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.005642 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.005648 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.005654 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.005660 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.005672 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.005677 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.005683 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.005693 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.005699 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.005706 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.005712 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.005717 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:58:22 2025-10-01 14:13:51.005723 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.005729 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.005735 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.005741 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.005746 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.005752 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.005758 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.005765 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.005771 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.005776 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.005782 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.005788 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.005799 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.005805 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.005811 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.005822 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.005828 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.005834 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.005847 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.005853 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.005859 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.005865 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.005871 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:58:22 2025-10-01 14:13:51.005877 | controller | | keystone_scale/0-deploy_keystone | test step completed 0-deploy_keystone\n logger.go:42: 2025-10-01 14:13:51.005883 | controller | 13:58:22 | keystone_scale/1-scale-keystoneapi | starting test step 1-scale-keystoneapi\n 2025-10-01 14:13:51.005889 | controller | \ logger.go:42: 13:58:22 | keystone_scale/1-scale-keystoneapi | running command: 2025-10-01 14:13:51.005894 | controller | [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type='json' -p='[{\"op\": \"replace\", 2025-10-01 14:13:51.005900 | controller | \"path\": \"/spec/replicas\", \"value\":3}]'\n ]\n logger.go:42: 13:58:23 2025-10-01 14:13:51.005906 | controller | | keystone_scale/1-scale-keystoneapi | keystoneapi.keystone.openstack.org/keystone 2025-10-01 14:13:51.005912 | controller | patched\n logger.go:42: 13:58:55 | keystone_scale/1-scale-keystoneapi | test 2025-10-01 14:13:51.005918 | controller | step completed 1-scale-keystoneapi\n logger.go:42: 13:58:55 | keystone_scale/2-scale-down-keystoneapi 2025-10-01 14:13:51.005924 | controller | | starting test step 2-scale-down-keystoneapi\n logger.go:42: 13:58:55 | keystone_scale/2-scale-down-keystoneapi 2025-10-01 14:13:51.005930 | controller | | running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type='json' 2025-10-01 14:13:51.005936 | controller | -p='[{\"op\": \"replace\", \"path\": \"/spec/replicas\", \"value\":1}]'\n ]\n 2025-10-01 14:13:51.005942 | controller | \ logger.go:42: 13:58:56 | keystone_scale/2-scale-down-keystoneapi | keystoneapi.keystone.openstack.org/keystone 2025-10-01 14:13:51.005948 | controller | patched\n logger.go:42: 13:58:57 | keystone_scale/2-scale-down-keystoneapi | 2025-10-01 14:13:51.005954 | controller | test step completed 2-scale-down-keystoneapi\n logger.go:42: 13:58:57 | keystone_scale/3-scale-down-zero-keystoneapi 2025-10-01 14:13:51.005960 | controller | | starting test step 3-scale-down-zero-keystoneapi\n logger.go:42: 13:58:57 | 2025-10-01 14:13:51.005965 | controller | keystone_scale/3-scale-down-zero-keystoneapi | running command: [sh -c oc patch 2025-10-01 14:13:51.005971 | controller | keystoneapi -n $NAMESPACE keystone --type='json' -p='[{\"op\": \"replace\", \"path\": 2025-10-01 14:13:51.005977 | controller | \"/spec/replicas\", \"value\":0}]'\n ]\n logger.go:42: 13:58:57 | keystone_scale/3-scale-down-zero-keystoneapi 2025-10-01 14:13:51.005983 | controller | | keystoneapi.keystone.openstack.org/keystone patched\n logger.go:42: 13:59:02 2025-10-01 14:13:51.005989 | controller | | keystone_scale/3-scale-down-zero-keystoneapi | test step completed 3-scale-down-zero-keystoneapi\n 2025-10-01 14:13:51.006000 | controller | \ logger.go:42: 13:59:02 | keystone_scale/4-cleanup-keystone | starting test step 2025-10-01 14:13:51.006006 | controller | 4-cleanup-keystone\n logger.go:42: 13:59:02 | keystone_scale/4-cleanup-keystone 2025-10-01 14:13:51.006012 | controller | | test step completed 4-cleanup-keystone\n logger.go:42: 13:59:02 | keystone_scale 2025-10-01 14:13:51.006018 | controller | | skipping kubernetes event logging\n=== CONT kuttl/harness/keystone_appcred\n2025/10/01 2025-10-01 14:13:51.006024 | controller | 13:59:02 object detected with no GVK Kind for path /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/tests/kuttl/tests/keystone_appcred/01-assert.yaml\n 2025-10-01 14:13:51.006030 | controller | \ logger.go:42: 13:59:02 | keystone_appcred | Skipping creation of user-supplied 2025-10-01 14:13:51.006036 | controller | namespace: keystone-kuttl-tests\n logger.go:42: 13:59:02 | keystone_appcred/0-deploy-keystone 2025-10-01 14:13:51.006041 | controller | | starting test step 0-deploy-keystone\n logger.go:42: 13:59:02 | keystone_appcred/0-deploy-keystone 2025-10-01 14:13:51.006047 | controller | | KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 13:59:02 2025-10-01 14:13:51.006053 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.006059 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.006065 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.006071 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.006077 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.006083 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.006089 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.006101 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.006108 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.006114 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.006119 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.006125 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.006131 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.006137 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.006143 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.006155 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.006161 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.006166 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.006172 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.006178 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.006184 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.006190 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.006196 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:02 2025-10-01 14:13:51.006204 | controller | | keystone_appcred/0-deploy-keystone | Endpoints URLS: : do 2025-10-01 14:13:51.006210 | controller | not match regex\n logger.go:42: 13:59:03 | keystone_appcred/0-deploy-keystone 2025-10-01 14:13:51.006216 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:51.006222 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:51.006228 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:51.006234 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.006240 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.006245 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.006251 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.006257 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.006263 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.006269 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.006274 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.006280 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.006286 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.006292 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.006314 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.006321 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.006327 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.006333 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.006339 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.006345 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.006351 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.006357 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:04 2025-10-01 14:13:51.006362 | controller | | keystone_appcred/0-deploy-keystone | Endpoints URLS: : do 2025-10-01 14:13:51.006375 | controller | not match regex\n logger.go:42: 13:59:05 | keystone_appcred/0-deploy-keystone 2025-10-01 14:13:51.006381 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:51.006387 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:51.006393 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:51.006412 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.006421 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.006430 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.006436 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.006442 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.006447 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.006453 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.006459 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.006464 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.006470 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.006476 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.006488 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.006493 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.006499 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.006505 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.006511 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.006516 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.006522 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.006528 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:05 2025-10-01 14:13:51.006534 | controller | | keystone_appcred/0-deploy-keystone | Endpoints URLS: : do 2025-10-01 14:13:51.006539 | controller | not match regex\n logger.go:42: 13:59:06 | keystone_appcred/0-deploy-keystone 2025-10-01 14:13:51.006545 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:51.006551 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:51.006557 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:51.006562 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.006571 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.006577 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.006583 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.006589 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.006594 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.006600 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.006606 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.006612 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.006617 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.006626 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.006640 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.006653 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.006659 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.006665 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.006671 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.006677 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.006683 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.006688 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:06 2025-10-01 14:13:51.006694 | controller | | keystone_appcred/0-deploy-keystone | Endpoints URLS: : do 2025-10-01 14:13:51.006700 | controller | not match regex\n logger.go:42: 13:59:07 | keystone_appcred/0-deploy-keystone 2025-10-01 14:13:51.006706 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:51.006711 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:51.006717 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:51.006723 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.006729 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.006735 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.006740 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.006746 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.006752 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.006758 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.006763 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.006769 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.006775 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.006781 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.006792 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.006798 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.006804 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.006809 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.006815 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.006827 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.006833 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.006839 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:07 2025-10-01 14:13:51.006844 | controller | | keystone_appcred/0-deploy-keystone | Endpoints URLS: : do 2025-10-01 14:13:51.006850 | controller | not match regex\n logger.go:42: 13:59:08 | keystone_appcred/0-deploy-keystone 2025-10-01 14:13:51.006856 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:51.006862 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:51.006867 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:51.006873 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.006879 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.006885 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.006891 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.006896 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.006908 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.006914 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.006920 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.006926 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.006932 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.006940 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.006952 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.006957 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.006963 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.006969 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.006975 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.006980 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.006986 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.006992 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:08 2025-10-01 14:13:51.006998 | controller | | keystone_appcred/0-deploy-keystone | Endpoints URLS: : do 2025-10-01 14:13:51.007003 | controller | not match regex\n logger.go:42: 13:59:09 | keystone_appcred/0-deploy-keystone 2025-10-01 14:13:51.007009 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:51.007015 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:51.007021 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:51.007030 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.007035 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.007041 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.007047 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.007053 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.007058 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.007064 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.007070 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.007076 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.007081 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.007088 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.007100 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.007107 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.007113 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.007120 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.007127 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.007133 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.007138 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.007144 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:09 2025-10-01 14:13:51.007150 | controller | | keystone_appcred/0-deploy-keystone | Endpoints URLS: : do 2025-10-01 14:13:51.007156 | controller | not match regex\n logger.go:42: 13:59:10 | keystone_appcred/0-deploy-keystone 2025-10-01 14:13:51.007161 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:51.007174 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:51.007180 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:51.007186 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.007192 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.007198 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.007203 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.007209 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.007215 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.007223 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.007232 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.007237 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.007243 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.007249 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.007260 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.007268 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.007274 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.007280 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.007286 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.007292 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.007297 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.007303 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:11 2025-10-01 14:13:51.007309 | controller | | keystone_appcred/0-deploy-keystone | Endpoints URLS: : do 2025-10-01 14:13:51.007315 | controller | not match regex\n logger.go:42: 13:59:12 | keystone_appcred/0-deploy-keystone 2025-10-01 14:13:51.007320 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:51.007326 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:51.007332 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:51.007338 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.007344 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.007349 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.007355 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.007361 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.007367 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.007372 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.007378 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.007384 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.007390 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.007395 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.007427 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.007433 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.007439 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.007455 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.007461 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.007466 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.007472 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.007478 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:12 2025-10-01 14:13:51.007484 | controller | | keystone_appcred/0-deploy-keystone | Endpoints URLS: : do 2025-10-01 14:13:51.007490 | controller | not match regex\n logger.go:42: 13:59:13 | keystone_appcred/0-deploy-keystone 2025-10-01 14:13:51.007495 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:51.007501 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:51.007507 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:51.007513 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.007519 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.007524 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.007530 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.007536 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.007545 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.007551 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.007557 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.007563 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.007568 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.007574 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.007585 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.007591 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.007597 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.007603 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.007608 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.007614 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.007620 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.007626 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:13 2025-10-01 14:13:51.007631 | controller | | keystone_appcred/0-deploy-keystone | Endpoints URLS: : do 2025-10-01 14:13:51.007637 | controller | not match regex\n logger.go:42: 13:59:14 | keystone_appcred/0-deploy-keystone 2025-10-01 14:13:51.007643 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:51.007651 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:51.007657 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:51.007677 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.007685 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.007692 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.007698 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.007704 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.007709 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.007715 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.007728 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.007734 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.007740 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.007746 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.007758 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.007763 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.007769 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.007775 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.007781 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.007786 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.007792 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.007798 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:14 2025-10-01 14:13:51.007804 | controller | | keystone_appcred/0-deploy-keystone | Endpoints URLS: : do 2025-10-01 14:13:51.007809 | controller | not match regex\n logger.go:42: 13:59:15 | keystone_appcred/0-deploy-keystone 2025-10-01 14:13:51.007815 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:51.007821 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:51.007827 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:51.007832 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.007838 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.007844 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.007850 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.007858 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.007867 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.007873 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.007879 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.007884 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.007890 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.007896 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.007907 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.007913 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.007919 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.007925 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.007930 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.007936 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.007942 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.007948 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:15 2025-10-01 14:13:51.007953 | controller | | keystone_appcred/0-deploy-keystone | Endpoints URLS: : do 2025-10-01 14:13:51.007959 | controller | not match regex\n logger.go:42: 13:59:16 | keystone_appcred/0-deploy-keystone 2025-10-01 14:13:51.007965 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:51.007970 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:51.007976 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:51.007989 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.007995 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.008001 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.008007 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.008013 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.008019 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.008024 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.008033 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.008038 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.008044 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.008050 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.008064 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.008070 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.008076 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.008081 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.008087 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.008093 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.008099 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.008104 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:17 2025-10-01 14:13:51.008110 | controller | | keystone_appcred/0-deploy-keystone | Endpoints URLS: : do 2025-10-01 14:13:51.008116 | controller | not match regex\n logger.go:42: 13:59:18 | keystone_appcred/0-deploy-keystone 2025-10-01 14:13:51.008122 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:51.008127 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:51.008133 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:51.008139 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.008145 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.008150 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.008158 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.008164 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.008170 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.008176 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.008181 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.008187 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.008193 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.008199 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.008210 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.008216 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.008222 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.008227 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.008242 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.008248 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.008254 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.008260 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:18 2025-10-01 14:13:51.008272 | controller | | keystone_appcred/0-deploy-keystone | Endpoints URLS: : do 2025-10-01 14:13:51.008277 | controller | not match regex\n logger.go:42: 13:59:19 | keystone_appcred/0-deploy-keystone 2025-10-01 14:13:51.008283 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:51.008289 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:51.008295 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:51.008301 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.008306 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.008312 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.008318 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.008327 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.008333 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.008339 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.008345 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.008350 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.008356 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.008362 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.008374 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.008379 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.008385 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.008391 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.008397 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.008418 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.008424 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.008430 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:19 2025-10-01 14:13:51.008435 | controller | | keystone_appcred/0-deploy-keystone | Endpoints URLS: : do 2025-10-01 14:13:51.008441 | controller | not match regex\n logger.go:42: 13:59:20 | keystone_appcred/0-deploy-keystone 2025-10-01 14:13:51.008447 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:51.008453 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:51.008461 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:51.008467 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.008473 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.008482 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.008487 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.008493 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.008499 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.008505 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.008510 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.008516 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.008530 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.008536 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.008547 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.008553 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.008559 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.008565 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.008571 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.008579 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.008585 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.008590 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:20 2025-10-01 14:13:51.008596 | controller | | keystone_appcred/0-deploy-keystone | Endpoints URLS: : do 2025-10-01 14:13:51.008602 | controller | not match regex\n logger.go:42: 13:59:21 | keystone_appcred/0-deploy-keystone 2025-10-01 14:13:51.008608 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:51.008613 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:51.008619 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:51.008625 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.008631 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.008636 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.008642 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.008648 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.008654 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.008659 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.008665 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.008671 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.008677 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.008685 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.008697 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.008703 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.008708 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.008714 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.008720 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.008726 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.008731 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.008737 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:21 2025-10-01 14:13:51.008743 | controller | | keystone_appcred/0-deploy-keystone | Endpoints URLS: : do 2025-10-01 14:13:51.008749 | controller | not match regex\n logger.go:42: 13:59:22 | keystone_appcred/0-deploy-keystone 2025-10-01 14:13:51.008754 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:51.008762 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:51.008768 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:51.008774 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.008789 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.008796 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.008802 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.008807 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.008813 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.008819 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.008825 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.008831 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.008836 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.008842 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.008854 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.008859 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.008865 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.008871 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.008877 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.008885 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.008891 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.008897 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:22 2025-10-01 14:13:51.008902 | controller | | keystone_appcred/0-deploy-keystone | Endpoints URLS: : do 2025-10-01 14:13:51.008908 | controller | not match regex\n logger.go:42: 13:59:24 | keystone_appcred/0-deploy-keystone 2025-10-01 14:13:51.008914 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:51.008920 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:51.008925 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:51.008931 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.008937 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.008943 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.008948 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.008954 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.008960 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.008966 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.008971 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.008977 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.008983 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.008989 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.009000 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.009006 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.009012 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.009017 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.009023 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.009029 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.009041 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.009047 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:24 2025-10-01 14:13:51.009053 | controller | | keystone_appcred/0-deploy-keystone | Endpoints URLS: : do 2025-10-01 14:13:51.009059 | controller | not match regex\n logger.go:42: 13:59:25 | keystone_appcred/0-deploy-keystone 2025-10-01 14:13:51.009068 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:51.009074 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:51.009080 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:51.009088 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.009094 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.009099 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.009105 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.009111 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.009117 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.009123 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.009128 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.009134 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.009140 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.009146 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.009157 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.009163 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.009169 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.009174 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.009180 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.009186 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.009192 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.009197 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:25 2025-10-01 14:13:51.009203 | controller | | keystone_appcred/0-deploy-keystone | Endpoints URLS: : do 2025-10-01 14:13:51.009209 | controller | not match regex\n logger.go:42: 13:59:26 | keystone_appcred/0-deploy-keystone 2025-10-01 14:13:51.009215 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:51.009220 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:51.009226 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:51.009232 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.009238 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.009243 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.009249 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.009255 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.009261 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.009266 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.009272 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.009281 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.009286 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.009292 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.009311 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.009317 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.009323 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.009328 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.009334 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.009340 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.009346 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.009353 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:26 2025-10-01 14:13:51.009358 | controller | | keystone_appcred/0-deploy-keystone | Endpoints URLS: : do 2025-10-01 14:13:51.009367 | controller | not match regex\n logger.go:42: 13:59:27 | keystone_appcred/0-deploy-keystone 2025-10-01 14:13:51.009373 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:51.009378 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:51.009384 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:51.009390 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.009396 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.009415 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.009423 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.009429 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.009435 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.009441 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.009447 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.009452 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.009458 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.009464 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.009475 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.009484 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.009490 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.009499 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.009505 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.009510 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.009516 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.009522 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:27 2025-10-01 14:13:51.009528 | controller | | keystone_appcred/0-deploy-keystone | Endpoints URLS: : do 2025-10-01 14:13:51.009533 | controller | not match regex\n logger.go:42: 13:59:28 | keystone_appcred/0-deploy-keystone 2025-10-01 14:13:51.009539 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-10-01 14:13:51.009545 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-10-01 14:13:51.009550 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-10-01 14:13:51.009556 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.009562 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.009568 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.009581 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.009587 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.009593 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.009599 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.009605 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.009611 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.009617 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.009623 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.009634 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.009640 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.009646 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.009652 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.009657 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.009663 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.009669 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.009675 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:29 2025-10-01 14:13:51.009685 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.009691 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.009697 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.009706 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.009712 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.009717 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.009723 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.009729 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.009734 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.009740 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.009746 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.009752 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.009757 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.009763 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.009769 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.009780 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.009786 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.009792 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.009797 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.009806 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.009811 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.009818 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.009824 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:31 2025-10-01 14:13:51.009829 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.009835 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.009847 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.009853 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.009859 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.009865 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.009870 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.009876 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.009882 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.009888 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.009894 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.009900 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.009909 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.009915 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.009920 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.009932 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.009937 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.009943 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.009949 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.009955 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.009960 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.009966 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.009972 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:32 2025-10-01 14:13:51.009978 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.009986 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.009992 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.009998 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.010004 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.010010 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.010015 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.010021 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.010030 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.010036 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.010041 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.010047 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.010053 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.010059 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.010065 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.010076 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.010082 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.010088 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.010093 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.010108 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.010114 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.010120 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.010126 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:33 2025-10-01 14:13:51.010132 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.010138 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.010143 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.010149 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.010155 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.010161 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.010166 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.010172 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.010178 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.010184 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.010190 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.010198 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.010204 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.010209 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.010215 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.010227 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.010233 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.010238 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.010244 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.010250 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.010256 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.010261 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.010267 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:34 2025-10-01 14:13:51.010273 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.010279 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.010287 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.010292 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.010298 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.010307 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.010312 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.010318 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.010324 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.010330 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.010335 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.010341 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.010347 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.010353 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.010358 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.010377 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.010383 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.010389 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.010395 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.010421 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.010430 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.010436 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.010441 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:35 2025-10-01 14:13:51.010447 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.010453 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.010459 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.010464 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.010470 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.010476 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.010482 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.010487 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.010493 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.010499 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.010505 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.010510 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.010516 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.010522 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.010531 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.010542 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.010548 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.010554 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.010560 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.010565 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.010571 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.010577 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.010583 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:37 2025-10-01 14:13:51.010588 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.010594 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.010600 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.010608 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.010614 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.010620 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.010625 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.010631 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.010637 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.010643 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.010656 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.010662 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.010668 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.010674 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.010680 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.010691 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.010697 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.010703 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.010709 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.010715 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.010720 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.010726 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.010735 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:38 2025-10-01 14:13:51.010740 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.010746 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.010752 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.010758 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.010763 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.010769 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.010775 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.010781 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.010786 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.010792 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.010798 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.010804 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.010809 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.010815 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.010821 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.010832 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.010838 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.010844 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.010850 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.010855 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.010861 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.010867 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.010873 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:39 2025-10-01 14:13:51.010878 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.010884 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.010890 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.010896 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.010901 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.010916 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.010923 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.010931 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.010942 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.010948 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.010954 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.010959 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.010965 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.010971 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.010977 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.010988 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.010994 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.011000 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.011006 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.011011 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.011017 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.011023 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.011029 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:40 2025-10-01 14:13:51.011035 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.011040 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.011046 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.011052 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.011058 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.011063 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.011069 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.011075 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.011081 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.011088 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.011094 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.011101 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.011108 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.011114 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.011120 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.011131 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.011140 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.011146 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.011152 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.011157 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.011163 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.011169 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.011175 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:41 2025-10-01 14:13:51.011187 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.011193 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.011199 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.011205 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.011211 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.011217 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.011223 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.011228 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.011237 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.011243 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.011249 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.011255 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.011260 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.011266 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.011272 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.011286 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.011292 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.011298 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.011303 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.011309 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.011315 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.011321 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.011326 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:43 2025-10-01 14:13:51.011332 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.011338 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.011346 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.011352 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.011358 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.011364 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.011369 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.011375 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.011381 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.011387 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.011393 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.011415 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.011424 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.011430 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.011435 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.011447 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.011453 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.011465 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.011471 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.011477 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.011483 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.011489 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.011495 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:44 2025-10-01 14:13:51.011501 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.011507 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.011512 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.011518 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.011524 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.011530 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.011536 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.011542 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.011548 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.011556 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.011562 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.011584 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.011590 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.011596 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.011602 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.011614 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.011622 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.011628 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.011634 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.011640 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.011645 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.011651 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.011657 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:45 2025-10-01 14:13:51.011663 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.011670 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.011696 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.011703 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.011709 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.011714 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.011720 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.011726 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.011732 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.011738 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.011743 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.011749 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.011755 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.011767 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.011773 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.011785 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.011791 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.011797 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.011806 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.011812 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.011818 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.011824 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.011830 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:46 2025-10-01 14:13:51.011835 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.011841 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.011847 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.011853 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.011859 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.011864 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.011870 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.011876 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.011882 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.011887 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.011896 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.011902 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.011907 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.011913 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.011919 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.011931 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.011936 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.011942 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.011948 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.011954 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.011960 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.011965 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.011971 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:47 2025-10-01 14:13:51.011977 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.011983 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.011988 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.011994 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.012000 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.012009 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.012014 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.012020 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.012033 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.012039 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.012045 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.012050 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.012056 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.012062 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.012068 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.012079 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.012085 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.012091 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.012097 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.012102 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.012108 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.012114 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.012120 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:49 2025-10-01 14:13:51.012126 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.012131 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.012137 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.012143 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.012149 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.012155 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.012160 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.012166 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.012172 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.012178 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.012183 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.012189 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.012195 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.012203 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.012212 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.012223 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.012229 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.012235 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.012241 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.012246 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.012252 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.012258 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.012264 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:50 2025-10-01 14:13:51.012270 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.012275 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.012281 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.012287 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.012299 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.012305 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.012311 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.012317 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.012323 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.012329 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.012335 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.012453 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.012461 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.012467 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.012472 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.012484 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.012490 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.012495 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.012501 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.012507 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.012513 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.012522 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.012528 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:51 2025-10-01 14:13:51.012533 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.012539 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.012545 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.012551 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.012557 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.012563 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.012569 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.012574 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.012580 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.012586 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.012592 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.012598 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.012604 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.012610 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.012615 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.012632 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.012638 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.012644 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.012650 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.012658 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.012664 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.012679 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.012685 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:52 2025-10-01 14:13:51.012691 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.012697 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.012703 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.012709 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.012715 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.012721 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.012727 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.012736 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.012742 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.012748 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.012754 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.012760 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.012766 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.012772 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.012777 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.012789 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.012795 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.012801 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.012806 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.012812 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.012818 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.012824 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.012829 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:54 2025-10-01 14:13:51.012835 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.012841 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.012847 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.012852 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.012858 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.012864 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.012870 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.012875 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.012881 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.012887 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.012893 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.012898 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.012904 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.012910 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.012916 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.012932 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.012945 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.012951 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.012957 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.012963 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.012969 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.012974 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.012980 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:55 2025-10-01 14:13:51.012986 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.012992 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.012998 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.013003 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.013009 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.013015 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.013021 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.013026 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.013032 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.013038 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.013043 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.013049 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.013055 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.013061 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.013066 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.013078 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.013084 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.013089 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.013095 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.013101 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.013107 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.013113 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.013118 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:56 2025-10-01 14:13:51.013124 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.013133 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.013139 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.013144 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.013150 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.013158 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.013164 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.013170 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.013176 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.013182 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.013187 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.013193 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.013206 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.013212 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.013218 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.013230 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.013236 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.013242 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.013250 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.013256 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.013262 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.013268 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.013274 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:57 2025-10-01 14:13:51.013280 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.013285 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.013291 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.013297 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.013303 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.013309 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.013315 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.013321 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.013326 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.013332 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.013341 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.013347 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.013353 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.013358 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.013364 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.013376 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.013382 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.013388 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.013393 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.013415 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.013424 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.013430 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.013436 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:58 2025-10-01 14:13:51.013441 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.013447 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.013453 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.013459 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.013465 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.013471 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.013484 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.013490 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.013496 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.013502 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.013508 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.013514 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.013520 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.013526 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.013532 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.013543 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.013549 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.013558 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.013564 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.013570 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.013578 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.013584 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.013590 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 13:59:59 2025-10-01 14:13:51.013596 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.013602 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.013608 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.013614 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.013619 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.013625 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.013631 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.013637 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.013643 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.013649 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.013655 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.013661 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.013667 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.013673 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.013679 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.013691 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.013697 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.013703 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.013708 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.013714 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.013720 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.013726 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.013732 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 14:00:01 2025-10-01 14:13:51.013738 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.013744 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.013756 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.013766 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.013772 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.013777 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.013784 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.013789 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.013795 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.013801 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.013807 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.013813 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.013819 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.013825 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.013830 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.013842 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.013851 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.013857 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.013863 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.013869 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.013875 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.013884 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.013890 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 14:00:02 2025-10-01 14:13:51.013896 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.013902 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.013908 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.013914 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.013919 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.013925 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.013931 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.013937 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.013946 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.013952 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.013958 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.013964 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.013975 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.013981 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.013987 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.013999 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.014004 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.014010 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.014016 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.014029 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.014036 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.014042 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.014048 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 14:00:03 2025-10-01 14:13:51.014053 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.014059 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.014065 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.014071 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.014077 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.014083 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.014089 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.014095 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.014101 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.014106 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.014112 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.014118 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.014124 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.014130 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.014136 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.014148 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.014154 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.014160 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.014166 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.014171 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.014180 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.014186 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.014194 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 14:00:04 2025-10-01 14:13:51.014200 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.014206 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.014212 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.014218 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.014224 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.014230 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.014236 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.014242 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.014248 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.014254 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.014260 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.014265 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.014271 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.014277 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.014283 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.014301 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.014307 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.014313 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.014319 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.014325 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.014331 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.014337 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.014343 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 14:00:06 2025-10-01 14:13:51.014348 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.014354 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.014360 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.014366 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.014372 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.014378 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.014387 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.014393 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.014412 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.014421 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.014427 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.014433 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.014439 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.014445 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.014451 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.014462 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.014468 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.014474 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.014481 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.014487 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.014493 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.014498 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.014504 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 14:00:07 2025-10-01 14:13:51.014513 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.014519 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.014525 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.014531 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.014536 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.014542 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.014548 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.014554 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.014560 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.014566 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.014579 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.014588 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.014594 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.014600 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.014606 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.014622 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.014628 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.014634 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.014640 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.014646 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.014651 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.014657 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.014663 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 14:00:08 2025-10-01 14:13:51.014669 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.014675 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.014681 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.014687 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.014692 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.014699 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.014705 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.014711 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.014716 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.014722 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.014728 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.014734 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.014740 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.014746 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.014751 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.014763 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.014769 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.014775 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.014781 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.014787 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.014792 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.014798 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.014804 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 14:00:09 2025-10-01 14:13:51.014813 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.014821 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.014827 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.014833 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.014839 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.014852 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.014858 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.014864 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.014870 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.014876 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.014882 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.014888 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.014894 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.014900 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.014905 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.014917 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.014924 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.014930 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.014936 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.014941 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.014947 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.014953 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.014959 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 14:00:10 2025-10-01 14:13:51.014965 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.014971 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.014977 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.014982 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.014988 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.014994 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.015000 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.015006 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.015012 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.015020 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.015026 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.015032 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.015038 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.015044 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.015050 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.015062 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.015068 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.015074 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.015080 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.015086 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.015091 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.015097 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.015103 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 14:00:12 2025-10-01 14:13:51.015115 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.015122 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.015131 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.015137 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.015143 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.015149 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.015155 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.015161 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.015166 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.015172 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.015178 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.015184 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.015190 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.015196 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.015202 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.015216 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.015222 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.015230 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.015236 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.015242 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.015247 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.015253 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.015259 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 14:00:13 2025-10-01 14:13:51.015265 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.015271 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.015277 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.015283 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.015288 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.015297 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.015302 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.015308 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.015314 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.015320 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.015326 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.015331 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.015337 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.015343 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.015351 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.015363 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.015369 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.015382 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.015388 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.015394 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.015413 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.015421 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.015428 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 14:00:14 2025-10-01 14:13:51.015433 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.015439 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.015451 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.015459 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.015465 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.015471 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.015476 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.015482 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.015488 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.015494 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.015499 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.015505 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.015511 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.015517 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.015523 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.015534 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.015540 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.015546 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.015551 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.015557 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.015563 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.015569 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.015575 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 14:00:15 2025-10-01 14:13:51.015580 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.015586 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.015592 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.015598 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.015603 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.015609 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.015615 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.015621 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.015627 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.015632 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.015638 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.015647 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.015652 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.015666 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.015672 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.015703 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.015709 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.015715 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.015721 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.015727 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.015732 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.015738 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.015744 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 14:00:16 2025-10-01 14:13:51.015750 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.015756 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.015761 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.015767 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.015773 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.015779 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.015784 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.015793 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.015799 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.015805 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.015811 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.015816 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.015822 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.015828 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.015878 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.015893 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.015898 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.015904 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.015910 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.015919 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.015926 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.015931 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.015937 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 14:00:17 2025-10-01 14:13:51.015943 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.015949 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.015955 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.015960 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.015966 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.015972 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.015978 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.015983 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.015998 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.016005 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.016010 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.016016 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.016022 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.016028 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.016033 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.016045 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.016054 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.016060 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.016065 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.016071 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.016077 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.016083 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.016088 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 14:00:19 2025-10-01 14:13:51.016094 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.016100 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.016106 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.016111 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.016117 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.016126 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.016132 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.016137 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.016145 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.016151 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.016157 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.016163 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.016168 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.016174 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.016180 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.016191 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.016197 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.016203 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.016209 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.016214 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.016220 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.016226 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.016232 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 14:00:20 2025-10-01 14:13:51.016237 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.016244 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.016250 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.016255 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.016268 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.016274 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.016280 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.016285 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.016291 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.016297 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.016303 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.016309 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.016315 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.016320 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.016329 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.016341 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.016346 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.016352 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.016358 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.016364 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.016369 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.016375 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.016381 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 14:00:21 2025-10-01 14:13:51.016387 | controller | | keystone_appcred/0-deploy-keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.016393 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.016416 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.016426 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.016432 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.016438 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.016444 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.016450 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.016456 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.016464 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.016470 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.016476 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.016484 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.016490 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.016495 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.016507 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.016513 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.016519 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.016524 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.016533 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.016538 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.016552 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.016561 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 14:00:21 2025-10-01 14:13:51.016567 | controller | | keystone_appcred/0-deploy-keystone | test step completed 0-deploy-keystone\n logger.go:42: 2025-10-01 14:13:51.016573 | controller | 14:00:21 | keystone_appcred/1-deploy-appcred | starting test step 1-deploy-appcred\n 2025-10-01 14:13:51.016579 | controller | \ logger.go:42: 14:00:21 | keystone_appcred/1-deploy-appcred | Secret:keystone-kuttl-tests/test-service-secret 2025-10-01 14:13:51.016585 | controller | created\n case.go:396: failed in step 1-deploy-appcred\n case.go:398: retrieving 2025-10-01 14:13:51.016591 | controller | API resource for keystone.openstack.org/v1beta1, Kind=KeystoneApplicationCredential 2025-10-01 14:13:51.016596 | controller | failed: resource type not found\n logger.go:42: 14:00:21 | keystone_appcred | 2025-10-01 14:13:51.016602 | controller | skipping kubernetes event logging\n=== CONT kuttl/harness/fernet_rotation\n logger.go:42: 2025-10-01 14:13:51.016608 | controller | 14:00:21 | fernet_rotation | Skipping creation of user-supplied namespace: keystone-kuttl-tests\n 2025-10-01 14:13:51.016614 | controller | \ logger.go:42: 14:00:21 | fernet_rotation/0-deploy_keystone | starting test step 2025-10-01 14:13:51.016620 | controller | 0-deploy_keystone\n logger.go:42: 14:00:21 | fernet_rotation/0-deploy_keystone 2025-10-01 14:13:51.016625 | controller | | KeystoneAPI:keystone-kuttl-tests/keystone updated\n logger.go:42: 14:00:21 2025-10-01 14:13:51.016631 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-10-01 14:13:51.016637 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-10-01 14:13:51.016643 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-10-01 14:13:51.016648 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.016654 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-10-01 14:13:51.016660 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-10-01 14:13:51.016666 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-10-01 14:13:51.016671 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-10-01 14:13:51.016677 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-10-01 14:13:51.016683 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-10-01 14:13:51.016689 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-10-01 14:13:51.016694 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-10-01 14:13:51.016700 | controller | 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-10-01 14:13:51.016706 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-10-01 14:13:51.016712 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-10-01 14:13:51.016723 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-10-01 14:13:51.016729 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-10-01 14:13:51.016735 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-10-01 14:13:51.016741 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-10-01 14:13:51.016752 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-10-01 14:13:51.016758 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-10-01 14:13:51.016763 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-10-01 14:13:51.016769 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 14:00:21 2025-10-01 14:13:51.016775 | controller | | fernet_rotation/0-deploy_keystone | Error from server (NotFound): keystoneapis.keystone.openstack.org 2025-10-01 14:13:51.016786 | controller | \"keystone\" not found\n logger.go:42: 14:00:21 | fernet_rotation/0-deploy_keystone 2025-10-01 14:13:51.016792 | controller | | test step completed 0-deploy_keystone\n logger.go:42: 14:00:21 | fernet_rotation/1-deploy_openstackclient 2025-10-01 14:13:51.016798 | controller | | starting test step 1-deploy_openstackclient\n logger.go:42: 14:00:21 | fernet_rotation/1-deploy_openstackclient 2025-10-01 14:13:51.016804 | controller | | Pod:keystone-kuttl-tests/openstackclient created\n logger.go:42: 14:00:21 | 2025-10-01 14:13:51.016816 | controller | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.016822 | controller | \ logger.go:42: 14:00:21 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.016828 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.016834 | controller | \ logger.go:42: 14:00:52 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.016840 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:00:53 2025-10-01 14:13:51.016846 | controller | | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.016851 | controller | \ logger.go:42: 14:00:53 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.016857 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.016863 | controller | \ logger.go:42: 14:01:23 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.016869 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:01:24 2025-10-01 14:13:51.016875 | controller | | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.016880 | controller | \ logger.go:42: 14:01:24 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.016886 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.016892 | controller | \ logger.go:42: 14:01:54 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.016898 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:01:55 2025-10-01 14:13:51.016903 | controller | | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.016909 | controller | \ logger.go:42: 14:01:55 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.016915 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.016921 | controller | \ logger.go:42: 14:02:25 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.016927 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:02:26 2025-10-01 14:13:51.016932 | controller | | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.016938 | controller | \ logger.go:42: 14:02:26 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.016944 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.016950 | controller | \ logger.go:42: 14:02:56 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.016958 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:02:57 2025-10-01 14:13:51.016964 | controller | | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.016970 | controller | \ logger.go:42: 14:02:57 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.016976 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.016981 | controller | \ logger.go:42: 14:03:27 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.016987 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:03:28 2025-10-01 14:13:51.016993 | controller | | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.016999 | controller | \ logger.go:42: 14:03:28 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.017004 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.017010 | controller | \ logger.go:42: 14:03:58 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.017016 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:03:59 2025-10-01 14:13:51.017022 | controller | | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.017027 | controller | \ logger.go:42: 14:03:59 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.017036 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.017042 | controller | \ logger.go:42: 14:04:29 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.017048 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:04:30 2025-10-01 14:13:51.017054 | controller | | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.017059 | controller | \ logger.go:42: 14:04:30 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.017065 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.017078 | controller | \ logger.go:42: 14:05:01 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.017084 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:05:02 2025-10-01 14:13:51.017090 | controller | | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.017096 | controller | \ logger.go:42: 14:05:02 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.017102 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.017108 | controller | \ logger.go:42: 14:05:32 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.017113 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:05:33 2025-10-01 14:13:51.017119 | controller | | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.017125 | controller | \ logger.go:42: 14:05:33 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.017131 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.017136 | controller | \ logger.go:42: 14:06:03 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.017142 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:06:04 2025-10-01 14:13:51.017148 | controller | | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.017154 | controller | \ logger.go:42: 14:06:04 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.017162 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.017168 | controller | \ logger.go:42: 14:06:34 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.017174 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:06:35 2025-10-01 14:13:51.017179 | controller | | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.017185 | controller | \ logger.go:42: 14:06:35 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.017191 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.017197 | controller | \ logger.go:42: 14:07:05 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.017203 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:07:06 2025-10-01 14:13:51.017208 | controller | | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.017214 | controller | \ logger.go:42: 14:07:06 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.017220 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.017226 | controller | \ logger.go:42: 14:07:36 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.017231 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:07:37 2025-10-01 14:13:51.017237 | controller | | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.017243 | controller | \ logger.go:42: 14:07:37 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.017249 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.017254 | controller | \ logger.go:42: 14:08:07 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.017260 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:08:08 2025-10-01 14:13:51.017266 | controller | | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.017274 | controller | \ logger.go:42: 14:08:09 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.017280 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.017286 | controller | \ logger.go:42: 14:08:39 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.017291 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:08:40 2025-10-01 14:13:51.017297 | controller | | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.017303 | controller | \ logger.go:42: 14:08:40 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.017309 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.017314 | controller | \ logger.go:42: 14:09:10 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.017320 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:09:11 2025-10-01 14:13:51.017326 | controller | | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.017338 | controller | \ logger.go:42: 14:09:11 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.017345 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.017350 | controller | \ logger.go:42: 14:09:41 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.017356 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:09:42 2025-10-01 14:13:51.017365 | controller | | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.017371 | controller | \ logger.go:42: 14:09:42 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.017380 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.017386 | controller | \ logger.go:42: 14:10:12 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.017391 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:10:13 2025-10-01 14:13:51.017400 | controller | | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.017424 | controller | \ logger.go:42: 14:10:13 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.017430 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.017436 | controller | \ logger.go:42: 14:10:43 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.017442 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:10:44 2025-10-01 14:13:51.017448 | controller | | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.017453 | controller | \ logger.go:42: 14:10:44 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.017459 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.017465 | controller | \ logger.go:42: 14:11:14 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.017471 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:11:15 2025-10-01 14:13:51.017476 | controller | | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.017482 | controller | \ logger.go:42: 14:11:15 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.017488 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.017494 | controller | \ logger.go:42: 14:11:46 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.017499 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:11:47 2025-10-01 14:13:51.017506 | controller | | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.017512 | controller | \ logger.go:42: 14:11:47 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.017517 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.017523 | controller | \ logger.go:42: 14:12:17 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.017532 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:12:18 2025-10-01 14:13:51.017537 | controller | | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.017544 | controller | \ logger.go:42: 14:12:18 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.017550 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.017555 | controller | \ logger.go:42: 14:12:48 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.017561 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:12:49 2025-10-01 14:13:51.017567 | controller | | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.017573 | controller | \ logger.go:42: 14:12:49 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.017578 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.017587 | controller | \ logger.go:42: 14:13:19 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.017593 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:13:20 2025-10-01 14:13:51.017599 | controller | | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n 2025-10-01 14:13:51.017604 | controller | \ logger.go:42: 14:13:20 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.017610 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n 2025-10-01 14:13:51.017616 | controller | \ logger.go:42: 14:13:50 | fernet_rotation/1-deploy_openstackclient | error: timed 2025-10-01 14:13:51.017622 | controller | out waiting for the condition on pods/openstackclient\n logger.go:42: 14:13:50 2025-10-01 14:13:51.017635 | controller | | fernet_rotation/1-deploy_openstackclient | test step failed 1-deploy_openstackclient\n 2025-10-01 14:13:51.017642 | controller | \ case.go:396: failed in step 1-deploy_openstackclient\n case.go:398: command 2025-10-01 14:13:51.017647 | controller | \"../../common/scripts/create_test_token.sh\" exceeded 21 sec timeout, context deadline 2025-10-01 14:13:51.017653 | controller | exceeded\n logger.go:42: 14:13:50 | fernet_rotation | skipping kubernetes event 2025-10-01 14:13:51.017659 | controller | logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: 2025-10-01 14:13:51.017665 | controller | cleaning up\n harness.go:571: removing temp folder: \"\"\n--- FAIL: kuttl (1260.40s)\n 2025-10-01 14:13:51.017671 | controller | \ --- FAIL: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/change_keystone_config 2025-10-01 14:13:51.017677 | controller | (84.77s)\n --- PASS: kuttl/harness/keystone_resources (96.83s)\n --- 2025-10-01 14:13:51.017682 | controller | PASS: kuttl/harness/keystone_tls (64.70s)\n --- PASS: kuttl/harness/keystone_scale 2025-10-01 14:13:51.017688 | controller | (126.00s)\n --- FAIL: kuttl/harness/keystone_appcred (79.07s)\n --- 2025-10-01 14:13:51.017695 | controller | FAIL: kuttl/harness/fernet_rotation (809.01s)\nFAIL\nmake[1]: *** [Makefile:1800: 2025-10-01 14:13:51.017700 | controller | keystone_kuttl_run] Error 1\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake: 2025-10-01 14:13:51.017706 | controller | *** [Makefile:1809: keystone_kuttl] Error 2\n" 2025-10-01 14:13:51.017712 | controller | stdout_lines: 2025-10-01 14:13:51.017719 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls ~/ci-framework-data/artifacts 2025-10-01 14:13:51.017724 | controller | - 'error: the server doesn''t have a resource type "openstackversion"' 2025-10-01 14:13:51.017730 | controller | - bash scripts/gen-namespace.sh 2025-10-01 14:13:51.017739 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' 2025-10-01 14:13:51.017745 | controller | - + '[' -z keystone-kuttl-tests ']' 2025-10-01 14:13:51.017751 | controller | - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests 2025-10-01 14:13:51.017757 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests 2025-10-01 14:13:51.017763 | controller | ']' 2025-10-01 14:13:51.017769 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests 2025-10-01 14:13:51.017774 | controller | - + cat 2025-10-01 14:13:51.017780 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml 2025-10-01 14:13:51.017786 | controller | - namespace/keystone-kuttl-tests created 2025-10-01 14:13:51.017792 | controller | - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io keystone-kuttl-tests); 2025-10-01 14:13:51.017798 | controller | do sleep 1; done" 2025-10-01 14:13:51.017804 | controller | - NAME DISPLAY NAME STATUS 2025-10-01 14:13:51.017810 | controller | - keystone-kuttl-tests Active 2025-10-01 14:13:51.017816 | controller | - oc project keystone-kuttl-tests 2025-10-01 14:13:51.017822 | controller | - Now using project "keystone-kuttl-tests" on server "https://api.crc.testing:6443". 2025-10-01 14:13:51.017830 | controller | - bash scripts/gen-input-kustomize.sh 2025-10-01 14:13:51.017836 | controller | - + OUT=/home/zuul/ci-framework-data/artifacts/manifests 2025-10-01 14:13:51.017842 | controller | - + '[' -z keystone-kuttl-tests ']' 2025-10-01 14:13:51.017848 | controller | - + '[' -z osp-secret ']' 2025-10-01 14:13:51.017854 | controller | - + '[' -z 12345678 ']' 2025-10-01 14:13:51.017859 | controller | - + '[' -z 1234567842 ']' 2025-10-01 14:13:51.017865 | controller | - + '[' -z 767c3ed056cbaa3b9dfedb8c6f825bf0 ']' 2025-10-01 14:13:51.017871 | controller | - + '[' -z sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= ']' 2025-10-01 14:13:51.017877 | controller | - + '[' -z COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f ']' 2025-10-01 14:13:51.017883 | controller | - + '[' -z openstack ']' 2025-10-01 14:13:51.017889 | controller | - + '[' -z libvirt-secret ']' 2025-10-01 14:13:51.017894 | controller | - + DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input 2025-10-01 14:13:51.017900 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input 2025-10-01 14:13:51.017906 | controller | ']' 2025-10-01 14:13:51.017912 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input 2025-10-01 14:13:51.017918 | controller | - + pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input 2025-10-01 14:13:51.017923 | controller | - ~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input ~/src/github.com/openstack-k8s-operators/install_yamls 2025-10-01 14:13:51.017929 | controller | - + cat 2025-10-01 14:13:51.017935 | controller | - oc get secret/osp-secret || oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input 2025-10-01 14:13:51.017941 | controller | | oc apply -f - 2025-10-01 14:13:51.017949 | controller | - 'Error from server (NotFound): secrets "osp-secret" not found' 2025-10-01 14:13:51.017955 | controller | - secret/libvirt-secret created 2025-10-01 14:13:51.017961 | controller | - secret/octavia-ca-passphrase created 2025-10-01 14:13:51.017967 | controller | - secret/osp-secret created 2025-10-01 14:13:51.017973 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr 2025-10-01 14:13:51.017978 | controller | | oc delete --ignore-not-found=true -f - 2025-10-01 14:13:51.017984 | 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-10-01 14:13:51.017990 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila: 2025-10-01 14:13:51.017996 | controller | no such file or directory' 2025-10-01 14:13:51.018002 | controller | - No resources found 2025-10-01 14:13:51.018018 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator 2025-10-01 14:13:51.018025 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr 2025-10-01 14:13:51.018031 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-10-01 14:13:51.018037 | controller | drop database if exists manila;" || true 2025-10-01 14:13:51.018043 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-10-01 14:13:51.018049 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr 2025-10-01 14:13:51.018055 | controller | | oc delete --ignore-not-found=true -f - 2025-10-01 14:13:51.018061 | 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-10-01 14:13:51.018066 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat: 2025-10-01 14:13:51.018072 | controller | no such file or directory' 2025-10-01 14:13:51.018078 | controller | - No resources found 2025-10-01 14:13:51.018084 | 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-10-01 14:13:51.018090 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr 2025-10-01 14:13:51.018098 | controller | | oc delete --ignore-not-found=true -f - 2025-10-01 14:13:51.018104 | 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-10-01 14:13:51.018110 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon: 2025-10-01 14:13:51.018116 | controller | no such file or directory' 2025-10-01 14:13:51.018122 | controller | - No resources found 2025-10-01 14:13:51.018127 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator 2025-10-01 14:13:51.018133 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr 2025-10-01 14:13:51.018139 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr 2025-10-01 14:13:51.018145 | controller | | oc delete --ignore-not-found=true -f - 2025-10-01 14:13:51.018151 | 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-10-01 14:13:51.018156 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova: 2025-10-01 14:13:51.018162 | controller | no such file or directory' 2025-10-01 14:13:51.018168 | controller | - No resources found 2025-10-01 14:13:51.018174 | 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-10-01 14:13:51.018180 | controller | - oc rsh openstack-galera-0 mysql -u root --password=12345678 -ss -e "show databases 2025-10-01 14:13:51.018185 | controller | like 'nova_%';" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12345678 2025-10-01 14:13:51.018191 | controller | -ss -e "flush tables; drop database if exists {};" 2025-10-01 14:13:51.018197 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-10-01 14:13:51.018203 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr 2025-10-01 14:13:51.018209 | controller | | oc delete --ignore-not-found=true -f - 2025-10-01 14:13:51.018215 | 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-10-01 14:13:51.018220 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis: 2025-10-01 14:13:51.018226 | controller | no such file or directory' 2025-10-01 14:13:51.018232 | controller | - No resources found 2025-10-01 14:13:51.018238 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis 2025-10-01 14:13:51.018243 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr 2025-10-01 14:13:51.018249 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr 2025-10-01 14:13:51.018255 | controller | | oc delete --ignore-not-found=true -f - 2025-10-01 14:13:51.018261 | 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-10-01 14:13:51.018267 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia: 2025-10-01 14:13:51.018272 | controller | no such file or directory' 2025-10-01 14:13:51.018278 | controller | - No resources found 2025-10-01 14:13:51.018284 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator 2025-10-01 14:13:51.018290 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr 2025-10-01 14:13:51.018295 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-10-01 14:13:51.018301 | controller | drop database if exists octavia;" || true 2025-10-01 14:13:51.018307 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-10-01 14:13:51.018322 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr 2025-10-01 14:13:51.018329 | controller | | oc delete --ignore-not-found=true -f - 2025-10-01 14:13:51.018335 | 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-10-01 14:13:51.018340 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate: 2025-10-01 14:13:51.018346 | controller | no such file or directory' 2025-10-01 14:13:51.018352 | controller | - No resources found 2025-10-01 14:13:51.018358 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator 2025-10-01 14:13:51.018364 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr 2025-10-01 14:13:51.018370 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-10-01 14:13:51.018375 | controller | drop database if exists designate;" || true 2025-10-01 14:13:51.018381 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-10-01 14:13:51.018387 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr 2025-10-01 14:13:51.018393 | controller | | oc delete --ignore-not-found=true -f - 2025-10-01 14:13:51.018412 | 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-10-01 14:13:51.018422 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron: 2025-10-01 14:13:51.018428 | controller | no such file or directory' 2025-10-01 14:13:51.018433 | controller | - No resources found 2025-10-01 14:13:51.018439 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator 2025-10-01 14:13:51.018445 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr 2025-10-01 14:13:51.018451 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-10-01 14:13:51.018457 | controller | drop database if exists neutron;" || true 2025-10-01 14:13:51.018462 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-10-01 14:13:51.018468 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr 2025-10-01 14:13:51.018474 | controller | | oc delete --ignore-not-found=true -f - 2025-10-01 14:13:51.018488 | 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-10-01 14:13:51.018494 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn: 2025-10-01 14:13:51.018500 | controller | no such file or directory' 2025-10-01 14:13:51.018506 | controller | - No resources found 2025-10-01 14:13:51.018512 | 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-10-01 14:13:51.018518 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr 2025-10-01 14:13:51.018524 | controller | | oc delete --ignore-not-found=true -f - 2025-10-01 14:13:51.018530 | 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-10-01 14:13:51.018535 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic: 2025-10-01 14:13:51.018541 | controller | no such file or directory' 2025-10-01 14:13:51.018547 | controller | - No resources found 2025-10-01 14:13:51.018553 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator 2025-10-01 14:13:51.018559 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr 2025-10-01 14:13:51.018564 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-10-01 14:13:51.018579 | controller | drop database if exists ironic;" || true 2025-10-01 14:13:51.018585 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-10-01 14:13:51.018590 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-10-01 14:13:51.018596 | controller | drop database if exists ironic_inspector;" || true 2025-10-01 14:13:51.018602 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-10-01 14:13:51.018608 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr 2025-10-01 14:13:51.018614 | controller | | oc delete --ignore-not-found=true -f - 2025-10-01 14:13:51.018620 | 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-10-01 14:13:51.018625 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder: 2025-10-01 14:13:51.018631 | controller | no such file or directory' 2025-10-01 14:13:51.018637 | controller | - No resources found 2025-10-01 14:13:51.018643 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator 2025-10-01 14:13:51.018651 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr 2025-10-01 14:13:51.018657 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-10-01 14:13:51.018714 | controller | drop database if exists cinder;" || true 2025-10-01 14:13:51.018723 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-10-01 14:13:51.018730 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr 2025-10-01 14:13:51.018736 | controller | | oc delete --ignore-not-found=true -f - 2025-10-01 14:13:51.018742 | 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-10-01 14:13:51.018747 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance: 2025-10-01 14:13:51.018753 | controller | no such file or directory' 2025-10-01 14:13:51.018759 | controller | - No resources found 2025-10-01 14:13:51.018765 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator 2025-10-01 14:13:51.018771 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr 2025-10-01 14:13:51.018776 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-10-01 14:13:51.018782 | controller | drop database if exists glance;" || true 2025-10-01 14:13:51.018788 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-10-01 14:13:51.018794 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr 2025-10-01 14:13:51.018799 | controller | | oc delete --ignore-not-found=true -f - 2025-10-01 14:13:51.018805 | 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-10-01 14:13:51.018811 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement: 2025-10-01 14:13:51.018817 | controller | no such file or directory' 2025-10-01 14:13:51.018823 | controller | - No resources found 2025-10-01 14:13:51.018828 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator 2025-10-01 14:13:51.018834 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr 2025-10-01 14:13:51.018840 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-10-01 14:13:51.018846 | controller | drop database if exists placement;" || true 2025-10-01 14:13:51.018851 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-10-01 14:13:51.018857 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr 2025-10-01 14:13:51.018866 | controller | | oc delete --ignore-not-found=true -f - 2025-10-01 14:13:51.018872 | 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-10-01 14:13:51.018877 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift: 2025-10-01 14:13:51.018883 | controller | no such file or directory' 2025-10-01 14:13:51.018889 | controller | - No resources found 2025-10-01 14:13:51.018895 | controller | - rm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator 2025-10-01 14:13:51.018900 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr 2025-10-01 14:13:51.018906 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr 2025-10-01 14:13:51.018912 | controller | | oc delete --ignore-not-found=true -f - 2025-10-01 14:13:51.018918 | 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-10-01 14:13:51.018924 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican: 2025-10-01 14:13:51.018930 | controller | no such file or directory' 2025-10-01 14:13:51.018939 | controller | - No resources found 2025-10-01 14:13:51.018945 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator 2025-10-01 14:13:51.018950 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr 2025-10-01 14:13:51.018956 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-10-01 14:13:51.018962 | controller | drop database if exists barbican;" || true 2025-10-01 14:13:51.018968 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-10-01 14:13:51.018974 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-10-01 14:13:51.018979 | controller | | oc delete --ignore-not-found=true -f - 2025-10-01 14:13:51.018986 | 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-10-01 14:13:51.018991 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone: 2025-10-01 14:13:51.018997 | controller | no such file or directory' 2025-10-01 14:13:51.019003 | controller | - No resources found 2025-10-01 14:13:51.019009 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator 2025-10-01 14:13:51.019015 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-10-01 14:13:51.019020 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-10-01 14:13:51.019035 | controller | drop database if exists keystone;" || true 2025-10-01 14:13:51.019041 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-10-01 14:13:51.019047 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-10-01 14:13:51.019053 | controller | | oc delete --ignore-not-found=true -f - 2025-10-01 14:13:51.019059 | 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-10-01 14:13:51.019065 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb: 2025-10-01 14:13:51.019070 | controller | no such file or directory' 2025-10-01 14:13:51.019076 | controller | - No resources found 2025-10-01 14:13:51.019082 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator 2025-10-01 14:13:51.019088 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-10-01 14:13:51.019097 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr 2025-10-01 14:13:51.019102 | controller | | oc delete --ignore-not-found=true -f - 2025-10-01 14:13:51.019108 | 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-10-01 14:13:51.019114 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry: 2025-10-01 14:13:51.019120 | controller | no such file or directory' 2025-10-01 14:13:51.019126 | controller | - No resources found 2025-10-01 14:13:51.019131 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator 2025-10-01 14:13:51.019137 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr 2025-10-01 14:13:51.019143 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator 2025-10-01 14:13:51.019148 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr 2025-10-01 14:13:51.019154 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-10-01 14:13:51.019160 | controller | drop database if exists aodh;" || true 2025-10-01 14:13:51.019166 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-10-01 14:13:51.019172 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-10-01 14:13:51.019177 | controller | | oc delete --ignore-not-found=true -f - 2025-10-01 14:13:51.019183 | 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-10-01 14:13:51.019189 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra: 2025-10-01 14:13:51.019195 | controller | no such file or directory' 2025-10-01 14:13:51.019201 | controller | - No resources found 2025-10-01 14:13:51.019210 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator 2025-10-01 14:13:51.019216 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-10-01 14:13:51.019221 | controller | - if oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster 2025-10-01 14:13:51.019227 | controller | --all; fi 2025-10-01 14:13:51.019233 | controller | - 'error: the server doesn''t have a resource type "RabbitmqCluster"' 2025-10-01 14:13:51.019241 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator 2025-10-01 14:13:51.019247 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-10-01 14:13:51.019253 | controller | - bash scripts/gen-namespace.sh 2025-10-01 14:13:51.019259 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' 2025-10-01 14:13:51.019264 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.019270 | controller | - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators 2025-10-01 14:13:51.019276 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators 2025-10-01 14:13:51.019282 | controller | ']' 2025-10-01 14:13:51.019288 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators 2025-10-01 14:13:51.019293 | controller | - + cat 2025-10-01 14:13:51.019299 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml 2025-10-01 14:13:51.019305 | controller | - 'Warning: resource namespaces/openstack-operators is missing the kubectl.kubernetes.io/last-applied-configuration 2025-10-01 14:13:51.019311 | controller | annotation which is required by oc apply. oc apply should only be used on resources 2025-10-01 14:13:51.019317 | controller | created declaratively by either oc create --save-config or oc apply. The missing 2025-10-01 14:13:51.019322 | controller | annotation will be patched automatically.' 2025-10-01 14:13:51.019328 | controller | - namespace/openstack-operators configured 2025-10-01 14:13:51.019337 | controller | - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io openstack-operators); 2025-10-01 14:13:51.019343 | controller | do sleep 1; done" 2025-10-01 14:13:51.019349 | controller | - NAME DISPLAY NAME STATUS 2025-10-01 14:13:51.019355 | controller | - openstack-operators Active 2025-10-01 14:13:51.019360 | controller | - oc project openstack-operators 2025-10-01 14:13:51.019366 | controller | - Now using project "openstack-operators" on server "https://api.crc.testing:6443". 2025-10-01 14:13:51.019372 | controller | - bash scripts/gen-olm.sh 2025-10-01 14:13:51.019378 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.019391 | controller | - + '[' -z mariadb ']' 2025-10-01 14:13:51.019399 | controller | - + '[' -z quay.io/openstack-k8s-operators/mariadb-operator-index:latest ']' 2025-10-01 14:13:51.019421 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-10-01 14:13:51.019428 | controller | ']' 2025-10-01 14:13:51.019434 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-10-01 14:13:51.019440 | controller | ']' 2025-10-01 14:13:51.019446 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-10-01 14:13:51.019451 | controller | - + OPERATOR_CHANNEL=alpha 2025-10-01 14:13:51.019457 | controller | - + OPERATOR_SOURCE=mariadb-operator-index 2025-10-01 14:13:51.019463 | controller | - + OPERATOR_SOURCE_NAMESPACE=openstack-operators 2025-10-01 14:13:51.019469 | controller | - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-10-01 14:13:51.019475 | controller | - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-10-01 14:13:51.019481 | controller | - + echo OPERATOR_CHANNEL alpha 2025-10-01 14:13:51.019487 | controller | - OPERATOR_CHANNEL alpha 2025-10-01 14:13:51.019495 | controller | - + echo OPERATOR_SOURCE mariadb-operator-index 2025-10-01 14:13:51.019501 | controller | - OPERATOR_SOURCE mariadb-operator-index 2025-10-01 14:13:51.019507 | controller | - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators 2025-10-01 14:13:51.019513 | controller | - OPERATOR_SOURCE_NAMESPACE openstack-operators 2025-10-01 14:13:51.019519 | controller | - + cat 2025-10-01 14:13:51.019524 | controller | - + cat 2025-10-01 14:13:51.019530 | controller | - + cat 2025-10-01 14:13:51.019536 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-10-01 14:13:51.019542 | controller | - catalogsource.operators.coreos.com/mariadb-operator-index created 2025-10-01 14:13:51.019548 | controller | - operatorgroup.operators.coreos.com/openstack created 2025-10-01 14:13:51.019554 | controller | - subscription.operators.coreos.com/mariadb-operator created 2025-10-01 14:13:51.019560 | controller | - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-10-01 14:13:51.019566 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-10-01 14:13:51.019572 | controller | - bash scripts/clone-operator-repo.sh 2025-10-01 14:13:51.019578 | controller | - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/openstack-operator.git 2025-10-01 14:13:51.019584 | controller | openstack-operator' 2025-10-01 14:13:51.019590 | controller | - Cloning into 'openstack-operator'... 2025-10-01 14:13:51.019596 | controller | - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/mariadb-operator.git 2025-10-01 14:13:51.019602 | controller | mariadb-operator' 2025-10-01 14:13:51.019607 | controller | - Cloning into 'mariadb-operator'... 2025-10-01 14:13:51.019614 | controller | - 'Running checkout: git checkout c8fbf68986fa' 2025-10-01 14:13:51.019620 | controller | - 'Note: switching to ''c8fbf68986fa''.' 2025-10-01 14:13:51.019625 | controller | - '' 2025-10-01 14:13:51.019631 | controller | - You are in 'detached HEAD' state. You can look around, make experimental 2025-10-01 14:13:51.019637 | controller | - changes and commit them, and you can discard any commits you make in this 2025-10-01 14:13:51.019643 | controller | - state without impacting any branches by switching back to a branch. 2025-10-01 14:13:51.019651 | controller | - '' 2025-10-01 14:13:51.019657 | controller | - If you want to create a new branch to retain commits you create, you may 2025-10-01 14:13:51.019663 | controller | - 'do so (now or later) by using -c with the switch command. Example:' 2025-10-01 14:13:51.019669 | controller | - '' 2025-10-01 14:13:51.019675 | controller | - ' git switch -c ' 2025-10-01 14:13:51.019681 | controller | - '' 2025-10-01 14:13:51.019688 | controller | - 'Or undo this operation with:' 2025-10-01 14:13:51.019710 | controller | - '' 2025-10-01 14:13:51.019716 | controller | - ' git switch -' 2025-10-01 14:13:51.019722 | controller | - '' 2025-10-01 14:13:51.019728 | controller | - Turn off this advice by setting config variable advice.detachedHead to false 2025-10-01 14:13:51.019734 | controller | - '' 2025-10-01 14:13:51.019739 | controller | - 'HEAD is now at c8fbf68 Merge pull request #367 from openstack-k8s-operators/renovate/github.com-onsi-ginkgo-v2-2.x' 2025-10-01 14:13:51.019745 | controller | - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml 2025-10-01 14:13:51.019751 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-10-01 14:13:51.019757 | controller | - bash scripts/gen-service-kustomize.sh 2025-10-01 14:13:51.019763 | controller | - +++ dirname scripts/gen-service-kustomize.sh 2025-10-01 14:13:51.019768 | controller | - ++ cd scripts 2025-10-01 14:13:51.019774 | controller | - ++ pwd -P 2025-10-01 14:13:51.019780 | controller | - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-10-01 14:13:51.019786 | controller | - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh 2025-10-01 14:13:51.019792 | controller | --source-only 2025-10-01 14:13:51.019797 | controller | - ++ set -e 2025-10-01 14:13:51.019803 | controller | - + '[' -z keystone-kuttl-tests ']' 2025-10-01 14:13:51.019809 | controller | - + '[' -z Galera ']' 2025-10-01 14:13:51.019815 | controller | - + '[' -z osp-secret ']' 2025-10-01 14:13:51.019820 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-10-01 14:13:51.019826 | controller | ']' 2025-10-01 14:13:51.019832 | controller | - + '[' -n '' ']' 2025-10-01 14:13:51.019838 | controller | - + IMAGE=unused 2025-10-01 14:13:51.019844 | controller | - + IMAGE_PATH=containerImage 2025-10-01 14:13:51.019849 | controller | - + STORAGE_REQUEST=10G 2025-10-01 14:13:51.019855 | controller | - + INTERFACE_MTU=1500 2025-10-01 14:13:51.019861 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-10-01 14:13:51.019867 | controller | ']' 2025-10-01 14:13:51.019872 | controller | - + pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-10-01 14:13:51.019878 | controller | - ~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr ~/src/github.com/openstack-k8s-operators/install_yamls 2025-10-01 14:13:51.019884 | controller | - + cat 2025-10-01 14:13:51.019898 | controller | - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-10-01 14:13:51.019904 | controller | - + IFS=, 2025-10-01 14:13:51.019910 | controller | - + read -ra IMAGES 2025-10-01 14:13:51.019916 | controller | - + IFS=, 2025-10-01 14:13:51.019922 | controller | - + read -ra IMAGE_PATHS 2025-10-01 14:13:51.019927 | controller | - + '[' 1 '!=' 1 ']' 2025-10-01 14:13:51.019933 | controller | - + (( i=0 )) 2025-10-01 14:13:51.019939 | controller | - + (( i < 1 )) 2025-10-01 14:13:51.019945 | controller | - + SPEC_PATH=containerImage 2025-10-01 14:13:51.019950 | controller | - + SPEC_VALUE=unused 2025-10-01 14:13:51.019956 | controller | - + '[' unused '!=' unused ']' 2025-10-01 14:13:51.019962 | controller | - + (( i++ )) 2025-10-01 14:13:51.019968 | controller | - + (( i < 1 )) 2025-10-01 14:13:51.019973 | controller | - + '[' -n '' ']' 2025-10-01 14:13:51.019979 | controller | - + '[' Galera == OpenStackControlPlane ']' 2025-10-01 14:13:51.019985 | controller | - + '[' Galera == Galera ']' 2025-10-01 14:13:51.019991 | controller | - + cat 2025-10-01 14:13:51.019996 | controller | - + '[' Galera == NetConfig ']' 2025-10-01 14:13:51.020002 | controller | - + '[' -n '' ']' 2025-10-01 14:13:51.020008 | controller | - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-10-01 14:13:51.020014 | controller | - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-10-01 14:13:51.020023 | controller | - + kustomization_add_resources 2025-10-01 14:13:51.020029 | controller | - + echo merge config dir 2025-10-01 14:13:51.020035 | controller | - merge config dir 2025-10-01 14:13:51.020040 | controller | - ++ find . -type f -name '*.yaml' 2025-10-01 14:13:51.020046 | controller | - ++ grep -v kustomization 2025-10-01 14:13:51.020052 | controller | - + yamls=./mariadb_v1beta1_galera.yaml 2025-10-01 14:13:51.020058 | controller | - + for y in ${yamls[@]} 2025-10-01 14:13:51.020063 | controller | - + kustomize edit add resource ./mariadb_v1beta1_galera.yaml 2025-10-01 14:13:51.020069 | controller | - + popd 2025-10-01 14:13:51.020075 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls 2025-10-01 14:13:51.020081 | controller | - make wait 2025-10-01 14:13:51.020087 | controller | - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-10-01 14:13:51.020092 | controller | - 'error: the server doesn''t have a resource type "openstackversion"' 2025-10-01 14:13:51.020098 | controller | - bash scripts/operator-wait.sh 2025-10-01 14:13:51.020104 | controller | - + TIMEOUT=500s 2025-10-01 14:13:51.020110 | controller | - +++ dirname scripts/operator-wait.sh 2025-10-01 14:13:51.020116 | controller | - ++ cd scripts 2025-10-01 14:13:51.020121 | controller | - ++ pwd -P 2025-10-01 14:13:51.020127 | controller | - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-10-01 14:13:51.020133 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.020139 | controller | - + '[' -z mariadb ']' 2025-10-01 14:13:51.020145 | controller | - + '[' mariadb = rabbitmq ']' 2025-10-01 14:13:51.020150 | controller | - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-10-01 14:13:51.020156 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls 2025-10-01 14:13:51.020162 | controller | - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" 2025-10-01 14:13:51.020168 | controller | ]; do sleep 5; done' 2025-10-01 14:13:51.020174 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.020179 | controller | - + '[' -z mariadb ']' 2025-10-01 14:13:51.020185 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-10-01 14:13:51.020191 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-10-01 14:13:51.020197 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-10-01 14:13:51.020203 | controller | -o json 2025-10-01 14:13:51.020208 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.020214 | controller | - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" 2025-10-01 14:13:51.020220 | controller | not found' 2025-10-01 14:13:51.020226 | controller | - + REPLICAS= 2025-10-01 14:13:51.020231 | controller | - + '[' '' '!=' 1 ']' 2025-10-01 14:13:51.020237 | controller | - + exit 1 2025-10-01 14:13:51.020243 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.020249 | controller | - + '[' -z mariadb ']' 2025-10-01 14:13:51.020255 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-10-01 14:13:51.020260 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-10-01 14:13:51.020266 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-10-01 14:13:51.020272 | controller | -o json 2025-10-01 14:13:51.020277 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.020283 | controller | - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" 2025-10-01 14:13:51.020289 | controller | not found' 2025-10-01 14:13:51.020295 | controller | - + REPLICAS= 2025-10-01 14:13:51.020301 | controller | - + '[' '' '!=' 1 ']' 2025-10-01 14:13:51.020306 | controller | - + exit 1 2025-10-01 14:13:51.020312 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.020318 | controller | - + '[' -z mariadb ']' 2025-10-01 14:13:51.020324 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-10-01 14:13:51.020330 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-10-01 14:13:51.020335 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-10-01 14:13:51.020341 | controller | -o json 2025-10-01 14:13:51.020349 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.020355 | controller | - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" 2025-10-01 14:13:51.020361 | controller | not found' 2025-10-01 14:13:51.020367 | controller | - + REPLICAS= 2025-10-01 14:13:51.020373 | controller | - + '[' '' '!=' 1 ']' 2025-10-01 14:13:51.020378 | controller | - + exit 1 2025-10-01 14:13:51.020384 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.020390 | controller | - + '[' -z mariadb ']' 2025-10-01 14:13:51.020396 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-10-01 14:13:51.020416 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-10-01 14:13:51.020423 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-10-01 14:13:51.020428 | controller | -o json 2025-10-01 14:13:51.020434 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.020440 | controller | - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" 2025-10-01 14:13:51.020446 | controller | not found' 2025-10-01 14:13:51.020452 | controller | - + REPLICAS= 2025-10-01 14:13:51.020458 | controller | - + '[' '' '!=' 1 ']' 2025-10-01 14:13:51.020464 | controller | - + exit 1 2025-10-01 14:13:51.020469 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.020478 | controller | - + '[' -z mariadb ']' 2025-10-01 14:13:51.020484 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-10-01 14:13:51.020490 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-10-01 14:13:51.020498 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-10-01 14:13:51.020504 | controller | -o json 2025-10-01 14:13:51.020510 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.020524 | controller | - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" 2025-10-01 14:13:51.020531 | controller | not found' 2025-10-01 14:13:51.020537 | controller | - + REPLICAS= 2025-10-01 14:13:51.020542 | controller | - + '[' '' '!=' 1 ']' 2025-10-01 14:13:51.020548 | controller | - + exit 1 2025-10-01 14:13:51.020554 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.020560 | controller | - + '[' -z mariadb ']' 2025-10-01 14:13:51.020566 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-10-01 14:13:51.020572 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-10-01 14:13:51.020577 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-10-01 14:13:51.020583 | controller | -o json 2025-10-01 14:13:51.020589 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.020595 | controller | - + REPLICAS=null 2025-10-01 14:13:51.020601 | controller | - + '[' null '!=' 1 ']' 2025-10-01 14:13:51.020607 | controller | - + exit 1 2025-10-01 14:13:51.020612 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.020618 | controller | - + '[' -z mariadb ']' 2025-10-01 14:13:51.020624 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-10-01 14:13:51.020630 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-10-01 14:13:51.020636 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-10-01 14:13:51.020641 | controller | -o json 2025-10-01 14:13:51.020647 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.020653 | controller | - + REPLICAS=null 2025-10-01 14:13:51.020659 | controller | - + '[' null '!=' 1 ']' 2025-10-01 14:13:51.020665 | controller | - + exit 1 2025-10-01 14:13:51.020670 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.020676 | controller | - + '[' -z mariadb ']' 2025-10-01 14:13:51.020682 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-10-01 14:13:51.020688 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-10-01 14:13:51.020694 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-10-01 14:13:51.020699 | controller | -o json 2025-10-01 14:13:51.020705 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.020711 | controller | - + REPLICAS=1 2025-10-01 14:13:51.020719 | controller | - + '[' 1 '!=' 1 ']' 2025-10-01 14:13:51.020725 | controller | - + echo Succeeded 2025-10-01 14:13:51.020736 | controller | - + exit 0 2025-10-01 14:13:51.020742 | controller | - + rc=0 2025-10-01 14:13:51.020751 | controller | - + popd 2025-10-01 14:13:51.020756 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls 2025-10-01 14:13:51.020762 | controller | - + exit 0 2025-10-01 14:13:51.020768 | controller | - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-10-01 14:13:51.020774 | controller | - bash scripts/operator-deploy-resources.sh 2025-10-01 14:13:51.020780 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-10-01 14:13:51.020786 | controller | ']' 2025-10-01 14:13:51.020791 | controller | - + NEXT_WAIT_TIME=0 2025-10-01 14:13:51.020797 | controller | - + '[' 0 -eq 15 ']' 2025-10-01 14:13:51.020803 | controller | - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-10-01 14:13:51.020809 | controller | - + oc apply -f - 2025-10-01 14:13:51.020815 | controller | - galera.mariadb.openstack.org/openstack created 2025-10-01 14:13:51.020821 | controller | - + '[' 0 -lt 15 ']' 2025-10-01 14:13:51.020826 | controller | - bash scripts/gen-namespace.sh 2025-10-01 14:13:51.020832 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' 2025-10-01 14:13:51.020838 | controller | - + '[' -z metallb-system ']' 2025-10-01 14:13:51.020844 | controller | - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/metallb-system 2025-10-01 14:13:51.020850 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system ']' 2025-10-01 14:13:51.020856 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system 2025-10-01 14:13:51.020861 | controller | - + cat 2025-10-01 14:13:51.020867 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml 2025-10-01 14:13:51.020873 | controller | - namespace/metallb-system created 2025-10-01 14:13:51.020879 | controller | - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io metallb-system); 2025-10-01 14:13:51.020884 | controller | do sleep 1; done" 2025-10-01 14:13:51.020890 | controller | - NAME DISPLAY NAME STATUS 2025-10-01 14:13:51.020896 | controller | - metallb-system Active 2025-10-01 14:13:51.020902 | controller | - bash scripts/gen-olm-metallb.sh 2025-10-01 14:13:51.020908 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op 2025-10-01 14:13:51.020913 | controller | ']' 2025-10-01 14:13:51.020919 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op 2025-10-01 14:13:51.020925 | controller | ']' 2025-10-01 14:13:51.020931 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op 2025-10-01 14:13:51.020937 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr 2025-10-01 14:13:51.020942 | controller | ']' 2025-10-01 14:13:51.020948 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr 2025-10-01 14:13:51.020954 | controller | ']' 2025-10-01 14:13:51.020960 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr 2025-10-01 14:13:51.020965 | controller | - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op 2025-10-01 14:13:51.020971 | controller | - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op 2025-10-01 14:13:51.020977 | controller | - + echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr 2025-10-01 14:13:51.020983 | controller | - DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr 2025-10-01 14:13:51.020988 | controller | - + echo INTERFACE 2025-10-01 14:13:51.020994 | controller | - INTERFACE 2025-10-01 14:13:51.021000 | controller | - + cat 2025-10-01 14:13:51.021006 | controller | - + cat 2025-10-01 14:13:51.021011 | controller | - + cat 2025-10-01 14:13:51.021017 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op 2025-10-01 14:13:51.021023 | controller | - operatorgroup.operators.coreos.com/metallb-operator created 2025-10-01 14:13:51.021029 | controller | - subscription.operators.coreos.com/metallb-operator-sub created 2025-10-01 14:13:51.021037 | controller | - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l control-plane=controller-manager 2025-10-01 14:13:51.021051 | controller | -n metallb-system| grep metallb-operator-controller); do sleep 10; done" 2025-10-01 14:13:51.021057 | controller | - No resources found in metallb-system namespace. 2025-10-01 14:13:51.021063 | controller | - No resources found in metallb-system namespace. 2025-10-01 14:13:51.021069 | controller | - metallb-operator-controller-manager-597c4b7b96-2jb5j 0/1 ContainerCreating 0 5s 2025-10-01 14:13:51.021074 | controller | - oc wait pod -n metallb-system --for condition=Ready -l control-plane=controller-manager 2025-10-01 14:13:51.021080 | controller | --timeout=500s 2025-10-01 14:13:51.021086 | controller | - pod/metallb-operator-controller-manager-597c4b7b96-2jb5j condition met 2025-10-01 14:13:51.021092 | controller | - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=webhook-server 2025-10-01 14:13:51.021098 | controller | -n metallb-system| grep metallb-operator-webhook); do sleep 10; done" 2025-10-01 14:13:51.021104 | controller | - metallb-operator-webhook-server-7b9b85bd76-p6smt 1/1 Running 0 41s 2025-10-01 14:13:51.021109 | controller | - oc wait pod -n metallb-system --for condition=Ready -l component=webhook-server 2025-10-01 14:13:51.021115 | controller | --timeout=500s 2025-10-01 14:13:51.021121 | controller | - pod/metallb-operator-webhook-server-7b9b85bd76-p6smt condition met 2025-10-01 14:13:51.021127 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml 2025-10-01 14:13:51.021133 | controller | - metallb.metallb.io/metallb created 2025-10-01 14:13:51.021138 | controller | - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=speaker 2025-10-01 14:13:51.021144 | controller | -n metallb-system | grep speaker); do sleep 10; done" 2025-10-01 14:13:51.021150 | controller | - No resources found in metallb-system namespace. 2025-10-01 14:13:51.021156 | controller | - speaker-2nzm9 1/2 Running 0 10s 2025-10-01 14:13:51.021162 | controller | - oc wait pod -n metallb-system -l component=speaker --for condition=Ready --timeout=500s 2025-10-01 14:13:51.021167 | controller | - pod/speaker-2nzm9 condition met 2025-10-01 14:13:51.021173 | controller | - bash scripts/gen-olm.sh 2025-10-01 14:13:51.021179 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.021185 | controller | - + '[' -z infra ']' 2025-10-01 14:13:51.021191 | controller | - + '[' -z quay.io/openstack-k8s-operators/infra-operator-index:latest ']' 2025-10-01 14:13:51.021196 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-10-01 14:13:51.021202 | controller | ']' 2025-10-01 14:13:51.021208 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-10-01 14:13:51.021214 | controller | ']' 2025-10-01 14:13:51.021219 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-10-01 14:13:51.021225 | controller | - + OPERATOR_CHANNEL=alpha 2025-10-01 14:13:51.021231 | controller | - + OPERATOR_SOURCE=infra-operator-index 2025-10-01 14:13:51.021237 | controller | - + OPERATOR_SOURCE_NAMESPACE=openstack-operators 2025-10-01 14:13:51.021243 | controller | - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-10-01 14:13:51.021249 | controller | - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-10-01 14:13:51.021254 | controller | - + echo OPERATOR_CHANNEL alpha 2025-10-01 14:13:51.021260 | controller | - OPERATOR_CHANNEL alpha 2025-10-01 14:13:51.021266 | controller | - + echo OPERATOR_SOURCE infra-operator-index 2025-10-01 14:13:51.021272 | controller | - OPERATOR_SOURCE infra-operator-index 2025-10-01 14:13:51.021278 | controller | - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators 2025-10-01 14:13:51.021283 | controller | - OPERATOR_SOURCE_NAMESPACE openstack-operators 2025-10-01 14:13:51.021289 | controller | - + cat 2025-10-01 14:13:51.021295 | controller | - + cat 2025-10-01 14:13:51.021301 | controller | - + cat 2025-10-01 14:13:51.021307 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-10-01 14:13:51.021315 | controller | - catalogsource.operators.coreos.com/infra-operator-index created 2025-10-01 14:13:51.021324 | controller | - operatorgroup.operators.coreos.com/openstack unchanged 2025-10-01 14:13:51.021330 | controller | - subscription.operators.coreos.com/infra-operator created 2025-10-01 14:13:51.021336 | controller | - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-10-01 14:13:51.021342 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-10-01 14:13:51.021347 | controller | - bash scripts/clone-operator-repo.sh 2025-10-01 14:13:51.021353 | controller | - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/infra-operator.git 2025-10-01 14:13:51.021359 | controller | infra-operator' 2025-10-01 14:13:51.021365 | controller | - Cloning into 'infra-operator'... 2025-10-01 14:13:51.021373 | controller | - 'Running checkout: git checkout 51c0fe58c195' 2025-10-01 14:13:51.021379 | controller | - 'Note: switching to ''51c0fe58c195''.' 2025-10-01 14:13:51.021385 | controller | - '' 2025-10-01 14:13:51.021391 | controller | - You are in 'detached HEAD' state. You can look around, make experimental 2025-10-01 14:13:51.021397 | controller | - changes and commit them, and you can discard any commits you make in this 2025-10-01 14:13:51.021425 | controller | - state without impacting any branches by switching back to a branch. 2025-10-01 14:13:51.021432 | controller | - '' 2025-10-01 14:13:51.021438 | controller | - If you want to create a new branch to retain commits you create, you may 2025-10-01 14:13:51.021443 | controller | - 'do so (now or later) by using -c with the switch command. Example:' 2025-10-01 14:13:51.021449 | controller | - '' 2025-10-01 14:13:51.021455 | controller | - ' git switch -c ' 2025-10-01 14:13:51.021461 | controller | - '' 2025-10-01 14:13:51.021468 | controller | - 'Or undo this operation with:' 2025-10-01 14:13:51.021474 | controller | - '' 2025-10-01 14:13:51.021480 | controller | - ' git switch -' 2025-10-01 14:13:51.021486 | controller | - '' 2025-10-01 14:13:51.021492 | controller | - Turn off this advice by setting config variable advice.detachedHead to false 2025-10-01 14:13:51.021498 | controller | - '' 2025-10-01 14:13:51.021503 | controller | - 'HEAD is now at 51c0fe5 Merge pull request #465 from dprince/rabbit_2.16.0' 2025-10-01 14:13:51.021517 | controller | - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml 2025-10-01 14:13:51.021523 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-10-01 14:13:51.021529 | controller | - bash scripts/gen-service-kustomize.sh 2025-10-01 14:13:51.021535 | controller | - +++ dirname scripts/gen-service-kustomize.sh 2025-10-01 14:13:51.021541 | controller | - ++ cd scripts 2025-10-01 14:13:51.021547 | controller | - ++ pwd -P 2025-10-01 14:13:51.021552 | controller | - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-10-01 14:13:51.021558 | controller | - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh 2025-10-01 14:13:51.021564 | controller | --source-only 2025-10-01 14:13:51.021570 | controller | - ++ set -e 2025-10-01 14:13:51.021576 | controller | - + '[' -z keystone-kuttl-tests ']' 2025-10-01 14:13:51.021581 | controller | - + '[' -z Memcached ']' 2025-10-01 14:13:51.021587 | controller | - + '[' -z osp-secret ']' 2025-10-01 14:13:51.021593 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-10-01 14:13:51.021599 | controller | ']' 2025-10-01 14:13:51.021605 | controller | - + '[' -n '' ']' 2025-10-01 14:13:51.021610 | controller | - + IMAGE=unused 2025-10-01 14:13:51.021616 | controller | - + IMAGE_PATH=containerImage 2025-10-01 14:13:51.021622 | controller | - + STORAGE_REQUEST=10G 2025-10-01 14:13:51.021628 | controller | - + INTERFACE_MTU=1500 2025-10-01 14:13:51.021633 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-10-01 14:13:51.021639 | controller | ']' 2025-10-01 14:13:51.021645 | controller | - + pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-10-01 14:13:51.021651 | controller | - ~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr ~/src/github.com/openstack-k8s-operators/install_yamls 2025-10-01 14:13:51.021660 | controller | - + cat 2025-10-01 14:13:51.021666 | controller | - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-10-01 14:13:51.021671 | controller | - + IFS=, 2025-10-01 14:13:51.021677 | controller | - + read -ra IMAGES 2025-10-01 14:13:51.021683 | controller | - + IFS=, 2025-10-01 14:13:51.021689 | controller | - + read -ra IMAGE_PATHS 2025-10-01 14:13:51.021694 | controller | - + '[' 1 '!=' 1 ']' 2025-10-01 14:13:51.021700 | controller | - + (( i=0 )) 2025-10-01 14:13:51.021706 | controller | - + (( i < 1 )) 2025-10-01 14:13:51.021712 | controller | - + SPEC_PATH=containerImage 2025-10-01 14:13:51.021717 | controller | - + SPEC_VALUE=unused 2025-10-01 14:13:51.021723 | controller | - + '[' unused '!=' unused ']' 2025-10-01 14:13:51.021729 | controller | - + (( i++ )) 2025-10-01 14:13:51.021735 | controller | - + (( i < 1 )) 2025-10-01 14:13:51.021740 | controller | - + '[' -n memcached ']' 2025-10-01 14:13:51.021746 | controller | - + cat 2025-10-01 14:13:51.021752 | controller | - + '[' Memcached == OpenStackControlPlane ']' 2025-10-01 14:13:51.021760 | controller | - + '[' Memcached == Galera ']' 2025-10-01 14:13:51.021766 | controller | - + '[' Memcached == NetConfig ']' 2025-10-01 14:13:51.021772 | controller | - + '[' -n '' ']' 2025-10-01 14:13:51.021778 | controller | - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-10-01 14:13:51.021783 | controller | - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-10-01 14:13:51.021789 | controller | - + kustomization_add_resources 2025-10-01 14:13:51.021795 | controller | - + echo merge config dir 2025-10-01 14:13:51.021801 | controller | - merge config dir 2025-10-01 14:13:51.021807 | controller | - ++ find . -type f -name '*.yaml' 2025-10-01 14:13:51.021812 | controller | - ++ grep -v kustomization 2025-10-01 14:13:51.021818 | controller | - + yamls=./memcached_v1beta1_memcached.yaml 2025-10-01 14:13:51.021824 | controller | - + for y in ${yamls[@]} 2025-10-01 14:13:51.021830 | controller | - + kustomize edit add resource ./memcached_v1beta1_memcached.yaml 2025-10-01 14:13:51.021835 | controller | - + popd 2025-10-01 14:13:51.021841 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls 2025-10-01 14:13:51.021847 | controller | - make wait 2025-10-01 14:13:51.021853 | controller | - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-10-01 14:13:51.021859 | controller | - 'error: the server doesn''t have a resource type "openstackversion"' 2025-10-01 14:13:51.021865 | controller | - bash scripts/operator-wait.sh 2025-10-01 14:13:51.021871 | controller | - + TIMEOUT=500s 2025-10-01 14:13:51.021876 | controller | - +++ dirname scripts/operator-wait.sh 2025-10-01 14:13:51.021882 | controller | - ++ cd scripts 2025-10-01 14:13:51.021888 | controller | - ++ pwd -P 2025-10-01 14:13:51.021894 | controller | - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-10-01 14:13:51.021899 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.021905 | controller | - + '[' -z infra ']' 2025-10-01 14:13:51.021911 | controller | - + '[' infra = rabbitmq ']' 2025-10-01 14:13:51.021917 | controller | - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-10-01 14:13:51.021923 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls 2025-10-01 14:13:51.021928 | controller | - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" 2025-10-01 14:13:51.021934 | controller | ]; do sleep 5; done' 2025-10-01 14:13:51.021940 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.021946 | controller | - + '[' -z infra ']' 2025-10-01 14:13:51.021951 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-10-01 14:13:51.021957 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-10-01 14:13:51.021963 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-10-01 14:13:51.021969 | controller | json 2025-10-01 14:13:51.021975 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.021980 | controller | - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" 2025-10-01 14:13:51.021986 | controller | not found' 2025-10-01 14:13:51.021992 | controller | - + REPLICAS= 2025-10-01 14:13:51.022001 | controller | - + '[' '' '!=' 1 ']' 2025-10-01 14:13:51.022007 | controller | - + exit 1 2025-10-01 14:13:51.022013 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.022019 | controller | - + '[' -z infra ']' 2025-10-01 14:13:51.022024 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-10-01 14:13:51.022030 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-10-01 14:13:51.022036 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.022042 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-10-01 14:13:51.022047 | controller | json 2025-10-01 14:13:51.022053 | controller | - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" 2025-10-01 14:13:51.022059 | controller | not found' 2025-10-01 14:13:51.022065 | controller | - + REPLICAS= 2025-10-01 14:13:51.022071 | controller | - + '[' '' '!=' 1 ']' 2025-10-01 14:13:51.022076 | controller | - + exit 1 2025-10-01 14:13:51.022082 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.022088 | controller | - + '[' -z infra ']' 2025-10-01 14:13:51.022101 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-10-01 14:13:51.022108 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-10-01 14:13:51.022114 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-10-01 14:13:51.022119 | controller | json 2025-10-01 14:13:51.022126 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.022134 | controller | - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" 2025-10-01 14:13:51.022140 | controller | not found' 2025-10-01 14:13:51.022146 | controller | - + REPLICAS= 2025-10-01 14:13:51.022152 | controller | - + '[' '' '!=' 1 ']' 2025-10-01 14:13:51.022158 | controller | - + exit 1 2025-10-01 14:13:51.022164 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.022170 | controller | - + '[' -z infra ']' 2025-10-01 14:13:51.022176 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-10-01 14:13:51.022181 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-10-01 14:13:51.022187 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-10-01 14:13:51.022193 | controller | json 2025-10-01 14:13:51.022199 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.022205 | controller | - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" 2025-10-01 14:13:51.022211 | controller | not found' 2025-10-01 14:13:51.022217 | controller | - + REPLICAS= 2025-10-01 14:13:51.022223 | controller | - + '[' '' '!=' 1 ']' 2025-10-01 14:13:51.022229 | controller | - + exit 1 2025-10-01 14:13:51.022235 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.022240 | controller | - + '[' -z infra ']' 2025-10-01 14:13:51.022246 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-10-01 14:13:51.022252 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-10-01 14:13:51.022258 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-10-01 14:13:51.022264 | controller | json 2025-10-01 14:13:51.022270 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.022275 | controller | - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" 2025-10-01 14:13:51.022281 | controller | not found' 2025-10-01 14:13:51.022290 | controller | - + REPLICAS= 2025-10-01 14:13:51.022295 | controller | - + '[' '' '!=' 1 ']' 2025-10-01 14:13:51.022301 | controller | - + exit 1 2025-10-01 14:13:51.022307 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.022313 | controller | - + '[' -z infra ']' 2025-10-01 14:13:51.022319 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-10-01 14:13:51.022325 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-10-01 14:13:51.022330 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-10-01 14:13:51.022336 | controller | json 2025-10-01 14:13:51.022342 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.022348 | controller | - + REPLICAS=null 2025-10-01 14:13:51.022354 | controller | - + '[' null '!=' 1 ']' 2025-10-01 14:13:51.022359 | controller | - + exit 1 2025-10-01 14:13:51.022365 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.022374 | controller | - + '[' -z infra ']' 2025-10-01 14:13:51.022380 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-10-01 14:13:51.022386 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-10-01 14:13:51.022391 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-10-01 14:13:51.022400 | controller | json 2025-10-01 14:13:51.022421 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.022427 | controller | - + REPLICAS=null 2025-10-01 14:13:51.022432 | controller | - + '[' null '!=' 1 ']' 2025-10-01 14:13:51.022438 | controller | - + exit 1 2025-10-01 14:13:51.022444 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.022450 | controller | - + '[' -z infra ']' 2025-10-01 14:13:51.022455 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-10-01 14:13:51.022461 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-10-01 14:13:51.022467 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-10-01 14:13:51.022473 | controller | json 2025-10-01 14:13:51.022479 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.022484 | controller | - + REPLICAS=1 2025-10-01 14:13:51.022490 | controller | - + '[' 1 '!=' 1 ']' 2025-10-01 14:13:51.022496 | controller | - + echo Succeeded 2025-10-01 14:13:51.022502 | controller | - + exit 0 2025-10-01 14:13:51.022508 | controller | - + rc=0 2025-10-01 14:13:51.022513 | controller | - + popd 2025-10-01 14:13:51.022519 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls 2025-10-01 14:13:51.022525 | controller | - + exit 0 2025-10-01 14:13:51.022531 | controller | - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-10-01 14:13:51.022537 | controller | - bash scripts/operator-deploy-resources.sh 2025-10-01 14:13:51.022542 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-10-01 14:13:51.022548 | controller | ']' 2025-10-01 14:13:51.022554 | controller | - + NEXT_WAIT_TIME=0 2025-10-01 14:13:51.022560 | controller | - + '[' 0 -eq 15 ']' 2025-10-01 14:13:51.022566 | controller | - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-10-01 14:13:51.022571 | controller | - + oc apply -f - 2025-10-01 14:13:51.022577 | controller | - memcached.memcached.openstack.org/memcached created 2025-10-01 14:13:51.022583 | controller | - + '[' 0 -lt 15 ']' 2025-10-01 14:13:51.022589 | controller | - bash scripts/gen-olm.sh 2025-10-01 14:13:51.022594 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.022600 | controller | - + '[' -z rabbitmq-cluster ']' 2025-10-01 14:13:51.022606 | controller | - + '[' -z quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest 2025-10-01 14:13:51.022612 | controller | ']' 2025-10-01 14:13:51.022618 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op 2025-10-01 14:13:51.022623 | controller | ']' 2025-10-01 14:13:51.022629 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op 2025-10-01 14:13:51.022635 | controller | ']' 2025-10-01 14:13:51.022641 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op 2025-10-01 14:13:51.022647 | controller | - + OPERATOR_CHANNEL=alpha 2025-10-01 14:13:51.022652 | controller | - + OPERATOR_SOURCE=rabbitmq-cluster-operator-index 2025-10-01 14:13:51.022658 | controller | - + OPERATOR_SOURCE_NAMESPACE=openstack-operators 2025-10-01 14:13:51.022664 | controller | - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op 2025-10-01 14:13:51.022670 | controller | - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op 2025-10-01 14:13:51.022675 | controller | - + echo OPERATOR_CHANNEL alpha 2025-10-01 14:13:51.022681 | controller | - OPERATOR_CHANNEL alpha 2025-10-01 14:13:51.022687 | controller | - + echo OPERATOR_SOURCE rabbitmq-cluster-operator-index 2025-10-01 14:13:51.022700 | controller | - OPERATOR_SOURCE rabbitmq-cluster-operator-index 2025-10-01 14:13:51.022707 | controller | - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators 2025-10-01 14:13:51.022713 | controller | - OPERATOR_SOURCE_NAMESPACE openstack-operators 2025-10-01 14:13:51.022721 | controller | - + cat 2025-10-01 14:13:51.022727 | controller | - + cat 2025-10-01 14:13:51.022733 | controller | - + cat 2025-10-01 14:13:51.022739 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op 2025-10-01 14:13:51.022745 | controller | - catalogsource.operators.coreos.com/rabbitmq-cluster-operator-index created 2025-10-01 14:13:51.022751 | controller | - operatorgroup.operators.coreos.com/openstack unchanged 2025-10-01 14:13:51.022757 | controller | - subscription.operators.coreos.com/rabbitmq-cluster-operator created 2025-10-01 14:13:51.022762 | controller | - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/op 2025-10-01 14:13:51.022768 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-10-01 14:13:51.022774 | controller | - bash -c "CHECKOUT_FROM_OPENSTACK_REF=false scripts/clone-operator-repo.sh" 2025-10-01 14:13:51.022780 | controller | - 'Cloning repo: git clone -b patches https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git 2025-10-01 14:13:51.022786 | controller | rabbitmq-operator' 2025-10-01 14:13:51.022792 | controller | - Cloning into 'rabbitmq-operator'... 2025-10-01 14:13:51.022797 | controller | - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml 2025-10-01 14:13:51.022803 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-10-01 14:13:51.022809 | controller | - bash scripts/gen-service-kustomize.sh 2025-10-01 14:13:51.022815 | controller | - +++ dirname scripts/gen-service-kustomize.sh 2025-10-01 14:13:51.022821 | controller | - ++ cd scripts 2025-10-01 14:13:51.022826 | controller | - ++ pwd -P 2025-10-01 14:13:51.022832 | controller | - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-10-01 14:13:51.022838 | controller | - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh 2025-10-01 14:13:51.022844 | controller | --source-only 2025-10-01 14:13:51.022850 | controller | - ++ set -e 2025-10-01 14:13:51.022855 | controller | - + '[' -z keystone-kuttl-tests ']' 2025-10-01 14:13:51.022861 | controller | - + '[' -z RabbitmqCluster ']' 2025-10-01 14:13:51.022867 | controller | - + '[' -z osp-secret ']' 2025-10-01 14:13:51.022873 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-10-01 14:13:51.022879 | controller | ']' 2025-10-01 14:13:51.022888 | controller | - + '[' -n '' ']' 2025-10-01 14:13:51.022894 | controller | - + IMAGE=unused 2025-10-01 14:13:51.022902 | controller | - + IMAGE_PATH=image 2025-10-01 14:13:51.022908 | controller | - + STORAGE_REQUEST=10G 2025-10-01 14:13:51.022914 | controller | - + INTERFACE_MTU=1500 2025-10-01 14:13:51.022919 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-10-01 14:13:51.022925 | controller | ']' 2025-10-01 14:13:51.022931 | controller | - + pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-10-01 14:13:51.022937 | controller | - ~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr ~/src/github.com/openstack-k8s-operators/install_yamls 2025-10-01 14:13:51.022943 | controller | - + cat 2025-10-01 14:13:51.022949 | controller | - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-10-01 14:13:51.022954 | controller | - + IFS=, 2025-10-01 14:13:51.022960 | controller | - + read -ra IMAGES 2025-10-01 14:13:51.022966 | controller | - + IFS=, 2025-10-01 14:13:51.022972 | controller | - + read -ra IMAGE_PATHS 2025-10-01 14:13:51.022978 | controller | - + '[' 1 '!=' 1 ']' 2025-10-01 14:13:51.022983 | controller | - + (( i=0 )) 2025-10-01 14:13:51.022989 | controller | - + (( i < 1 )) 2025-10-01 14:13:51.022995 | controller | - + SPEC_PATH=image 2025-10-01 14:13:51.023000 | controller | - + SPEC_VALUE=unused 2025-10-01 14:13:51.023006 | controller | - + '[' unused '!=' unused ']' 2025-10-01 14:13:51.023012 | controller | - + (( i++ )) 2025-10-01 14:13:51.023018 | controller | - + (( i < 1 )) 2025-10-01 14:13:51.023024 | controller | - + '[' -n rabbitmq ']' 2025-10-01 14:13:51.023029 | controller | - + cat 2025-10-01 14:13:51.023035 | controller | - + '[' RabbitmqCluster == OpenStackControlPlane ']' 2025-10-01 14:13:51.023046 | controller | - + '[' RabbitmqCluster == Galera ']' 2025-10-01 14:13:51.023052 | controller | - + '[' RabbitmqCluster == NetConfig ']' 2025-10-01 14:13:51.023058 | controller | - + '[' -n '' ']' 2025-10-01 14:13:51.023064 | controller | - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-10-01 14:13:51.023069 | controller | - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-10-01 14:13:51.023075 | controller | - + kustomization_add_resources 2025-10-01 14:13:51.023081 | controller | - + echo merge config dir 2025-10-01 14:13:51.023087 | controller | - merge config dir 2025-10-01 14:13:51.023093 | controller | - ++ find . -type f -name '*.yaml' 2025-10-01 14:13:51.023099 | controller | - ++ grep -v kustomization 2025-10-01 14:13:51.023104 | controller | - + yamls=./rabbitmq.yaml 2025-10-01 14:13:51.023110 | controller | - + for y in ${yamls[@]} 2025-10-01 14:13:51.023116 | controller | - + kustomize edit add resource ./rabbitmq.yaml 2025-10-01 14:13:51.023122 | controller | - + popd 2025-10-01 14:13:51.023127 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls 2025-10-01 14:13:51.023133 | controller | - make wait 2025-10-01 14:13:51.023139 | controller | - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-10-01 14:13:51.023145 | controller | - 'error: the server doesn''t have a resource type "openstackversion"' 2025-10-01 14:13:51.023150 | controller | - bash scripts/operator-wait.sh 2025-10-01 14:13:51.023156 | controller | - + TIMEOUT=500s 2025-10-01 14:13:51.023162 | controller | - +++ dirname scripts/operator-wait.sh 2025-10-01 14:13:51.023168 | controller | - ++ cd scripts 2025-10-01 14:13:51.023174 | controller | - ++ pwd -P 2025-10-01 14:13:51.023180 | controller | - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-10-01 14:13:51.023185 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.023191 | controller | - + '[' -z rabbitmq ']' 2025-10-01 14:13:51.023197 | controller | - + '[' rabbitmq = rabbitmq ']' 2025-10-01 14:13:51.023203 | controller | - + OPERATOR_NAME=rabbitmq-cluster 2025-10-01 14:13:51.023209 | controller | - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-10-01 14:13:51.023214 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls 2025-10-01 14:13:51.023227 | controller | - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" 2025-10-01 14:13:51.023234 | controller | ]; do sleep 5; done' 2025-10-01 14:13:51.023239 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.023245 | controller | - + '[' -z rabbitmq-cluster ']' 2025-10-01 14:13:51.023251 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-10-01 14:13:51.023257 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-10-01 14:13:51.023263 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-10-01 14:13:51.023269 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.023274 | controller | - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not 2025-10-01 14:13:51.023280 | controller | found' 2025-10-01 14:13:51.023286 | controller | - + REPLICAS= 2025-10-01 14:13:51.023292 | controller | - + '[' '' '!=' 1 ']' 2025-10-01 14:13:51.023300 | controller | - + exit 1 2025-10-01 14:13:51.023306 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.023312 | controller | - + '[' -z rabbitmq-cluster ']' 2025-10-01 14:13:51.023318 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-10-01 14:13:51.023324 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-10-01 14:13:51.023329 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-10-01 14:13:51.023335 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.023341 | controller | - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not 2025-10-01 14:13:51.023347 | controller | found' 2025-10-01 14:13:51.023353 | controller | - + REPLICAS= 2025-10-01 14:13:51.023358 | controller | - + '[' '' '!=' 1 ']' 2025-10-01 14:13:51.023364 | controller | - + exit 1 2025-10-01 14:13:51.023370 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.023376 | controller | - + '[' -z rabbitmq-cluster ']' 2025-10-01 14:13:51.023384 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-10-01 14:13:51.023393 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-10-01 14:13:51.023416 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.023424 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-10-01 14:13:51.023431 | controller | - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not 2025-10-01 14:13:51.023437 | controller | found' 2025-10-01 14:13:51.023443 | controller | - + REPLICAS= 2025-10-01 14:13:51.023448 | controller | - + '[' '' '!=' 1 ']' 2025-10-01 14:13:51.023454 | controller | - + exit 1 2025-10-01 14:13:51.023460 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.023466 | controller | - + '[' -z rabbitmq-cluster ']' 2025-10-01 14:13:51.023472 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-10-01 14:13:51.023478 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-10-01 14:13:51.023483 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-10-01 14:13:51.023489 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.023495 | controller | - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not 2025-10-01 14:13:51.023501 | controller | found' 2025-10-01 14:13:51.023507 | controller | - + REPLICAS= 2025-10-01 14:13:51.023512 | controller | - + '[' '' '!=' 1 ']' 2025-10-01 14:13:51.023518 | controller | - + exit 1 2025-10-01 14:13:51.023524 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.023530 | controller | - + '[' -z rabbitmq-cluster ']' 2025-10-01 14:13:51.023539 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-10-01 14:13:51.023545 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-10-01 14:13:51.023551 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-10-01 14:13:51.023556 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.023562 | controller | - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not 2025-10-01 14:13:51.023568 | controller | found' 2025-10-01 14:13:51.023574 | controller | - + REPLICAS= 2025-10-01 14:13:51.023579 | controller | - + '[' '' '!=' 1 ']' 2025-10-01 14:13:51.023585 | controller | - + exit 1 2025-10-01 14:13:51.023591 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.023597 | controller | - + '[' -z rabbitmq-cluster ']' 2025-10-01 14:13:51.023603 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-10-01 14:13:51.023609 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-10-01 14:13:51.023614 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-10-01 14:13:51.023620 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.023626 | controller | - + REPLICAS=null 2025-10-01 14:13:51.023634 | controller | - + '[' null '!=' 1 ']' 2025-10-01 14:13:51.023640 | controller | - + exit 1 2025-10-01 14:13:51.023646 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.023652 | controller | - + '[' -z rabbitmq-cluster ']' 2025-10-01 14:13:51.023657 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-10-01 14:13:51.023663 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-10-01 14:13:51.023669 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-10-01 14:13:51.023675 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.023681 | controller | - + REPLICAS=1 2025-10-01 14:13:51.023686 | controller | - + '[' 1 '!=' 1 ']' 2025-10-01 14:13:51.023693 | controller | - + echo Succeeded 2025-10-01 14:13:51.023722 | controller | - + exit 0 2025-10-01 14:13:51.023729 | controller | - + rc=0 2025-10-01 14:13:51.023735 | controller | - + popd 2025-10-01 14:13:51.023741 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls 2025-10-01 14:13:51.023747 | controller | - + exit 0 2025-10-01 14:13:51.023752 | controller | - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-10-01 14:13:51.023758 | controller | - bash scripts/operator-deploy-resources.sh 2025-10-01 14:13:51.023764 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-10-01 14:13:51.023770 | controller | ']' 2025-10-01 14:13:51.023779 | controller | - + NEXT_WAIT_TIME=0 2025-10-01 14:13:51.023784 | controller | - + '[' 0 -eq 15 ']' 2025-10-01 14:13:51.023790 | controller | - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-10-01 14:13:51.023796 | controller | - + oc apply -f - 2025-10-01 14:13:51.023802 | controller | - rabbitmqcluster.rabbitmq.com/rabbitmq created 2025-10-01 14:13:51.023808 | controller | - + '[' 0 -lt 15 ']' 2025-10-01 14:13:51.023813 | controller | - bash scripts/gen-olm.sh 2025-10-01 14:13:51.023819 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.023825 | controller | - + '[' -z keystone ']' 2025-10-01 14:13:51.023831 | controller | - + '[' -z 38.102.83.129:5001/openstack-k8s-operators/keystone-operator-index:0bf30aa672c65d76ab942979d5cc7e063a129ffc 2025-10-01 14:13:51.023836 | controller | ']' 2025-10-01 14:13:51.023842 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-10-01 14:13:51.023848 | controller | ']' 2025-10-01 14:13:51.023861 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-10-01 14:13:51.023867 | controller | ']' 2025-10-01 14:13:51.023873 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-10-01 14:13:51.023879 | controller | - + OPERATOR_CHANNEL=alpha 2025-10-01 14:13:51.023885 | controller | - + OPERATOR_SOURCE=keystone-operator-index 2025-10-01 14:13:51.023891 | controller | - + OPERATOR_SOURCE_NAMESPACE=openstack-operators 2025-10-01 14:13:51.023896 | controller | - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-10-01 14:13:51.023902 | controller | - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-10-01 14:13:51.023908 | controller | - + echo OPERATOR_CHANNEL alpha 2025-10-01 14:13:51.023914 | controller | - OPERATOR_CHANNEL alpha 2025-10-01 14:13:51.023920 | controller | - + echo OPERATOR_SOURCE keystone-operator-index 2025-10-01 14:13:51.023925 | controller | - OPERATOR_SOURCE keystone-operator-index 2025-10-01 14:13:51.023931 | controller | - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators 2025-10-01 14:13:51.023937 | controller | - OPERATOR_SOURCE_NAMESPACE openstack-operators 2025-10-01 14:13:51.023943 | controller | - + cat 2025-10-01 14:13:51.023949 | controller | - + cat 2025-10-01 14:13:51.023954 | controller | - + cat 2025-10-01 14:13:51.023960 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-10-01 14:13:51.023966 | controller | - catalogsource.operators.coreos.com/keystone-operator-index created 2025-10-01 14:13:51.023972 | controller | - operatorgroup.operators.coreos.com/openstack unchanged 2025-10-01 14:13:51.023978 | controller | - subscription.operators.coreos.com/keystone-operator created 2025-10-01 14:13:51.023983 | controller | - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-10-01 14:13:51.023989 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-10-01 14:13:51.023995 | controller | - bash scripts/clone-operator-repo.sh 2025-10-01 14:13:51.024001 | controller | - 'Cloning repo: git clone /home/zuul/src/github.com/openstack-k8s-operators/keystone-operator 2025-10-01 14:13:51.024007 | controller | keystone-operator' 2025-10-01 14:13:51.024012 | controller | - Cloning into 'keystone-operator'... 2025-10-01 14:13:51.024018 | controller | - done. 2025-10-01 14:13:51.024024 | controller | - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml 2025-10-01 14:13:51.024030 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-10-01 14:13:51.024036 | controller | - bash scripts/gen-service-kustomize.sh 2025-10-01 14:13:51.024043 | controller | - +++ dirname scripts/gen-service-kustomize.sh 2025-10-01 14:13:51.024051 | controller | - ++ cd scripts 2025-10-01 14:13:51.024058 | controller | - ++ pwd -P 2025-10-01 14:13:51.024066 | controller | - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-10-01 14:13:51.024073 | controller | - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh 2025-10-01 14:13:51.024084 | controller | --source-only 2025-10-01 14:13:51.024091 | controller | - ++ set -e 2025-10-01 14:13:51.024097 | controller | - + '[' -z keystone-kuttl-tests ']' 2025-10-01 14:13:51.024103 | controller | - + '[' -z KeystoneAPI ']' 2025-10-01 14:13:51.024109 | controller | - + '[' -z osp-secret ']' 2025-10-01 14:13:51.024114 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-10-01 14:13:51.024120 | controller | ']' 2025-10-01 14:13:51.024126 | controller | - + '[' -n '' ']' 2025-10-01 14:13:51.024132 | controller | - + IMAGE=unused 2025-10-01 14:13:51.024138 | controller | - + IMAGE_PATH=containerImage 2025-10-01 14:13:51.024143 | controller | - + STORAGE_REQUEST=10G 2025-10-01 14:13:51.024149 | controller | - + INTERFACE_MTU=1500 2025-10-01 14:13:51.024155 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-10-01 14:13:51.024161 | controller | ']' 2025-10-01 14:13:51.024167 | controller | - + pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-10-01 14:13:51.024172 | controller | - ~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr ~/src/github.com/openstack-k8s-operators/install_yamls 2025-10-01 14:13:51.024178 | controller | - + cat 2025-10-01 14:13:51.024184 | controller | - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-10-01 14:13:51.024190 | controller | - + IFS=, 2025-10-01 14:13:51.024195 | controller | - + read -ra IMAGES 2025-10-01 14:13:51.024201 | controller | - + IFS=, 2025-10-01 14:13:51.024207 | controller | - + read -ra IMAGE_PATHS 2025-10-01 14:13:51.024213 | controller | - + '[' 1 '!=' 1 ']' 2025-10-01 14:13:51.024218 | controller | - + (( i=0 )) 2025-10-01 14:13:51.024224 | controller | - + (( i < 1 )) 2025-10-01 14:13:51.024230 | controller | - + SPEC_PATH=containerImage 2025-10-01 14:13:51.024236 | controller | - + SPEC_VALUE=unused 2025-10-01 14:13:51.024241 | controller | - + '[' unused '!=' unused ']' 2025-10-01 14:13:51.024247 | controller | - + (( i++ )) 2025-10-01 14:13:51.024253 | controller | - + (( i < 1 )) 2025-10-01 14:13:51.024259 | controller | - + '[' -n '' ']' 2025-10-01 14:13:51.024265 | controller | - + '[' KeystoneAPI == OpenStackControlPlane ']' 2025-10-01 14:13:51.024270 | controller | - + '[' KeystoneAPI == Galera ']' 2025-10-01 14:13:51.024276 | controller | - + '[' KeystoneAPI == NetConfig ']' 2025-10-01 14:13:51.024282 | controller | - + '[' -n '' ']' 2025-10-01 14:13:51.024288 | controller | - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-10-01 14:13:51.024293 | controller | - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-10-01 14:13:51.024299 | controller | - + kustomization_add_resources 2025-10-01 14:13:51.024305 | controller | - + echo merge config dir 2025-10-01 14:13:51.024311 | controller | - merge config dir 2025-10-01 14:13:51.024316 | controller | - ++ find . -type f -name '*.yaml' 2025-10-01 14:13:51.024322 | controller | - ++ grep -v kustomization 2025-10-01 14:13:51.024328 | controller | - + yamls=./keystone_v1beta1_keystoneapi.yaml 2025-10-01 14:13:51.024334 | controller | - + for y in ${yamls[@]} 2025-10-01 14:13:51.024340 | controller | - + kustomize edit add resource ./keystone_v1beta1_keystoneapi.yaml 2025-10-01 14:13:51.024346 | controller | - + popd 2025-10-01 14:13:51.024351 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls 2025-10-01 14:13:51.024357 | controller | - make wait 2025-10-01 14:13:51.024363 | controller | - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-10-01 14:13:51.024369 | controller | - 'error: the server doesn''t have a resource type "openstackversion"' 2025-10-01 14:13:51.024385 | controller | - bash scripts/operator-wait.sh 2025-10-01 14:13:51.024392 | controller | - + TIMEOUT=500s 2025-10-01 14:13:51.024398 | controller | - +++ dirname scripts/operator-wait.sh 2025-10-01 14:13:51.024420 | controller | - ++ cd scripts 2025-10-01 14:13:51.024426 | controller | - ++ pwd -P 2025-10-01 14:13:51.024432 | controller | - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-10-01 14:13:51.024438 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.024444 | controller | - + '[' -z keystone ']' 2025-10-01 14:13:51.024450 | controller | - + '[' keystone = rabbitmq ']' 2025-10-01 14:13:51.024459 | controller | - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-10-01 14:13:51.024465 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls 2025-10-01 14:13:51.024471 | controller | - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" 2025-10-01 14:13:51.024477 | controller | ]; do sleep 5; done' 2025-10-01 14:13:51.024483 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.024488 | controller | - + '[' -z keystone ']' 2025-10-01 14:13:51.024494 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-10-01 14:13:51.024500 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-10-01 14:13:51.024506 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.024512 | controller | -o json 2025-10-01 14:13:51.024518 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.024523 | controller | - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" 2025-10-01 14:13:51.024529 | controller | not found' 2025-10-01 14:13:51.024535 | controller | - + REPLICAS= 2025-10-01 14:13:51.024541 | controller | - + '[' '' '!=' 1 ']' 2025-10-01 14:13:51.024547 | controller | - + exit 1 2025-10-01 14:13:51.024553 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.024559 | controller | - + '[' -z keystone ']' 2025-10-01 14:13:51.024564 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-10-01 14:13:51.024570 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-10-01 14:13:51.024576 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.024582 | controller | -o json 2025-10-01 14:13:51.024588 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.024594 | controller | - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" 2025-10-01 14:13:51.024599 | controller | not found' 2025-10-01 14:13:51.024605 | controller | - + REPLICAS= 2025-10-01 14:13:51.024611 | controller | - + '[' '' '!=' 1 ']' 2025-10-01 14:13:51.024617 | controller | - + exit 1 2025-10-01 14:13:51.024623 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.024628 | controller | - + '[' -z keystone ']' 2025-10-01 14:13:51.024634 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-10-01 14:13:51.024640 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-10-01 14:13:51.024646 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.024652 | controller | -o json 2025-10-01 14:13:51.024657 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.024663 | controller | - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" 2025-10-01 14:13:51.024669 | controller | not found' 2025-10-01 14:13:51.024675 | controller | - + REPLICAS= 2025-10-01 14:13:51.024681 | controller | - + '[' '' '!=' 1 ']' 2025-10-01 14:13:51.024687 | controller | - + exit 1 2025-10-01 14:13:51.024692 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.024698 | controller | - + '[' -z keystone ']' 2025-10-01 14:13:51.024704 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-10-01 14:13:51.024710 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-10-01 14:13:51.024716 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.024721 | controller | -o json 2025-10-01 14:13:51.024727 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.024733 | controller | - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" 2025-10-01 14:13:51.024739 | controller | not found' 2025-10-01 14:13:51.024745 | controller | - + REPLICAS= 2025-10-01 14:13:51.024750 | controller | - + '[' '' '!=' 1 ']' 2025-10-01 14:13:51.024756 | controller | - + exit 1 2025-10-01 14:13:51.024762 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.024768 | controller | - + '[' -z keystone ']' 2025-10-01 14:13:51.024774 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-10-01 14:13:51.024780 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-10-01 14:13:51.024785 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.024794 | controller | -o json 2025-10-01 14:13:51.024800 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.024805 | controller | - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" 2025-10-01 14:13:51.024811 | controller | not found' 2025-10-01 14:13:51.024817 | controller | - + REPLICAS= 2025-10-01 14:13:51.024823 | controller | - + '[' '' '!=' 1 ']' 2025-10-01 14:13:51.024829 | controller | - + exit 1 2025-10-01 14:13:51.024835 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.024840 | controller | - + '[' -z keystone ']' 2025-10-01 14:13:51.024846 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-10-01 14:13:51.024852 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-10-01 14:13:51.024858 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.024864 | controller | -o json 2025-10-01 14:13:51.024871 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.024877 | controller | - + REPLICAS=null 2025-10-01 14:13:51.024883 | controller | - + '[' null '!=' 1 ']' 2025-10-01 14:13:51.024889 | controller | - + exit 1 2025-10-01 14:13:51.024894 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.024900 | controller | - + '[' -z keystone ']' 2025-10-01 14:13:51.024906 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-10-01 14:13:51.024912 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-10-01 14:13:51.024918 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.024923 | controller | -o json 2025-10-01 14:13:51.024929 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.024935 | controller | - + REPLICAS=null 2025-10-01 14:13:51.024941 | controller | - + '[' null '!=' 1 ']' 2025-10-01 14:13:51.024947 | controller | - + exit 1 2025-10-01 14:13:51.024953 | controller | - + '[' -z openstack-operators ']' 2025-10-01 14:13:51.024961 | controller | - + '[' -z keystone ']' 2025-10-01 14:13:51.024968 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-10-01 14:13:51.024973 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-10-01 14:13:51.024979 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.024985 | controller | -o json 2025-10-01 14:13:51.024991 | controller | - ++ jq -e .status.availableReplicas 2025-10-01 14:13:51.025004 | controller | - + REPLICAS=1 2025-10-01 14:13:51.025011 | controller | - + '[' 1 '!=' 1 ']' 2025-10-01 14:13:51.025017 | controller | - + echo Succeeded 2025-10-01 14:13:51.025022 | controller | - + exit 0 2025-10-01 14:13:51.025028 | controller | - + rc=0 2025-10-01 14:13:51.025034 | controller | - + popd 2025-10-01 14:13:51.025040 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls 2025-10-01 14:13:51.025046 | controller | - + exit 0 2025-10-01 14:13:51.025055 | controller | - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-10-01 14:13:51.025061 | controller | - make keystone_kuttl_run 2025-10-01 14:13:51.025067 | controller | - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-10-01 14:13:51.025073 | controller | - 'error: the server doesn''t have a resource type "openstackversion"' 2025-10-01 14:13:51.025079 | controller | - 'KEYSTONE_KUTTL_DIR=/home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/tests/kuttl/tests 2025-10-01 14:13:51.025084 | controller | kubectl-kuttl test --config /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/kuttl-test.yaml 2025-10-01 14:13:51.025090 | controller | /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/tests/kuttl/tests 2025-10-01 14:13:51.025096 | controller | --namespace keystone-kuttl-tests ' 2025-10-01 14:13:51.025102 | controller | - '2025/10/01 13:52:50 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/tests/kuttl/tests 2025-10-01 14:13:51.025108 | controller | ]' 2025-10-01 14:13:51.025114 | controller | - === RUN kuttl 2025-10-01 14:13:51.025120 | controller | - ' harness.go:463: starting setup' 2025-10-01 14:13:51.025126 | controller | - ' harness.go:255: running tests using configured kubeconfig.' 2025-10-01 14:13:51.025134 | controller | - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' 2025-10-01 14:13:51.025140 | controller | - ' harness.go:363: running tests' 2025-10-01 14:13:51.025146 | controller | - ' harness.go:75: going to run test suite with timeout of 800 seconds for each 2025-10-01 14:13:51.025152 | controller | step' 2025-10-01 14:13:51.025158 | controller | - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/tests/kuttl/tests 2025-10-01 14:13:51.025164 | controller | has 6 tests' 2025-10-01 14:13:51.025169 | controller | - === RUN kuttl/harness 2025-10-01 14:13:51.025175 | controller | - === RUN kuttl/harness/change_keystone_config 2025-10-01 14:13:51.025181 | controller | - === PAUSE kuttl/harness/change_keystone_config 2025-10-01 14:13:51.025187 | controller | - === RUN kuttl/harness/fernet_rotation 2025-10-01 14:13:51.025193 | controller | - === PAUSE kuttl/harness/fernet_rotation 2025-10-01 14:13:51.025199 | controller | - === RUN kuttl/harness/keystone_appcred 2025-10-01 14:13:51.025205 | controller | - === PAUSE kuttl/harness/keystone_appcred 2025-10-01 14:13:51.025210 | controller | - === RUN kuttl/harness/keystone_resources 2025-10-01 14:13:51.025216 | controller | - === PAUSE kuttl/harness/keystone_resources 2025-10-01 14:13:51.025222 | controller | - === RUN kuttl/harness/keystone_scale 2025-10-01 14:13:51.025228 | controller | - === PAUSE kuttl/harness/keystone_scale 2025-10-01 14:13:51.025234 | controller | - === RUN kuttl/harness/keystone_tls 2025-10-01 14:13:51.025240 | controller | - === PAUSE kuttl/harness/keystone_tls 2025-10-01 14:13:51.025245 | controller | - === CONT kuttl/harness/change_keystone_config 2025-10-01 14:13:51.025251 | controller | - ' logger.go:42: 13:52:50 | change_keystone_config | Skipping creation of user-supplied 2025-10-01 14:13:51.025257 | controller | namespace: keystone-kuttl-tests' 2025-10-01 14:13:51.025263 | controller | - ' logger.go:42: 13:52:50 | change_keystone_config/0-deploy_keystone | starting 2025-10-01 14:13:51.025269 | controller | test step 0-deploy_keystone' 2025-10-01 14:13:51.025275 | controller | - ' logger.go:42: 13:52:50 | change_keystone_config/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone 2025-10-01 14:13:51.025281 | controller | created' 2025-10-01 14:13:51.025289 | controller | - ' logger.go:42: 13:52:50 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.025295 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.025301 | controller | so we can''t rely on' 2025-10-01 14:13:51.025307 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.025313 | controller | and checks that' 2025-10-01 14:13:51.025318 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.025324 | controller | pattern' 2025-10-01 14:13:51.025330 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.025336 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.025342 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.025348 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.025354 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.025360 | controller | - ' exit 0' 2025-10-01 14:13:51.025365 | controller | - ' else' 2025-10-01 14:13:51.025371 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.025377 | controller | - ' exit 1' 2025-10-01 14:13:51.025383 | controller | - ' fi' 2025-10-01 14:13:51.025389 | controller | - ' ' 2025-10-01 14:13:51.025395 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.025414 | controller | them with a script' 2025-10-01 14:13:51.025422 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.025428 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.025440 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.025446 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.025460 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.025472 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.025478 | controller | - ' # it is an image' 2025-10-01 14:13:51.025484 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.025490 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.025496 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.025501 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.025507 | controller | - ' case $NAME in' 2025-10-01 14:13:51.025513 | controller | - ' API)' 2025-10-01 14:13:51.025519 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.025525 | controller | - ' ;;' 2025-10-01 14:13:51.025531 | controller | - ' esac' 2025-10-01 14:13:51.025537 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.025542 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.025548 | controller | - ' exit 1' 2025-10-01 14:13:51.025554 | controller | - ' fi' 2025-10-01 14:13:51.025560 | controller | - ' fi' 2025-10-01 14:13:51.025566 | controller | - ' done' 2025-10-01 14:13:51.025572 | controller | - ' ]' 2025-10-01 14:13:51.025578 | controller | - ' logger.go:42: 13:52:50 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.025584 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.025590 | controller | - ' logger.go:42: 13:52:51 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.025595 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.025601 | controller | so we can''t rely on' 2025-10-01 14:13:51.025607 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.025613 | controller | and checks that' 2025-10-01 14:13:51.025619 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.025625 | controller | pattern' 2025-10-01 14:13:51.025630 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.025636 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.025642 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.025648 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.025654 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.025660 | controller | - ' exit 0' 2025-10-01 14:13:51.025666 | controller | - ' else' 2025-10-01 14:13:51.025672 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.025677 | controller | - ' exit 1' 2025-10-01 14:13:51.025683 | controller | - ' fi' 2025-10-01 14:13:51.025689 | controller | - ' ' 2025-10-01 14:13:51.025695 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.025701 | controller | them with a script' 2025-10-01 14:13:51.025707 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.025713 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.025719 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.025724 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.025733 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.025745 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.025751 | controller | - ' # it is an image' 2025-10-01 14:13:51.025757 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.025763 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.025769 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.025774 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.025780 | controller | - ' case $NAME in' 2025-10-01 14:13:51.025786 | controller | - ' API)' 2025-10-01 14:13:51.025792 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.025798 | controller | - ' ;;' 2025-10-01 14:13:51.025804 | controller | - ' esac' 2025-10-01 14:13:51.025810 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.025816 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.025821 | controller | - ' exit 1' 2025-10-01 14:13:51.025830 | controller | - ' fi' 2025-10-01 14:13:51.025836 | controller | - ' fi' 2025-10-01 14:13:51.025842 | controller | - ' done' 2025-10-01 14:13:51.025848 | controller | - ' ]' 2025-10-01 14:13:51.025854 | controller | - ' logger.go:42: 13:52:51 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.025860 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.025865 | controller | - ' logger.go:42: 13:52:52 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.025871 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.025877 | controller | so we can''t rely on' 2025-10-01 14:13:51.025883 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.025889 | controller | and checks that' 2025-10-01 14:13:51.025895 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.025901 | controller | pattern' 2025-10-01 14:13:51.025913 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.025919 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.025925 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.025931 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.025937 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.025943 | controller | - ' exit 0' 2025-10-01 14:13:51.025949 | controller | - ' else' 2025-10-01 14:13:51.025955 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.025960 | controller | - ' exit 1' 2025-10-01 14:13:51.025966 | controller | - ' fi' 2025-10-01 14:13:51.025972 | controller | - ' ' 2025-10-01 14:13:51.025978 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.025984 | controller | them with a script' 2025-10-01 14:13:51.025990 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.025996 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.026001 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.026007 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.026013 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.026028 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.026034 | controller | - ' # it is an image' 2025-10-01 14:13:51.026039 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.026045 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.026054 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.026060 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.026065 | controller | - ' case $NAME in' 2025-10-01 14:13:51.026072 | controller | - ' API)' 2025-10-01 14:13:51.026077 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.026083 | controller | - ' ;;' 2025-10-01 14:13:51.026091 | controller | - ' esac' 2025-10-01 14:13:51.026097 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.026103 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.026109 | controller | - ' exit 1' 2025-10-01 14:13:51.026115 | controller | - ' fi' 2025-10-01 14:13:51.026121 | controller | - ' fi' 2025-10-01 14:13:51.026127 | controller | - ' done' 2025-10-01 14:13:51.026132 | controller | - ' ]' 2025-10-01 14:13:51.026138 | controller | - ' logger.go:42: 13:52:52 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.026144 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.026150 | controller | - ' logger.go:42: 13:52:53 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.026156 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.026162 | controller | so we can''t rely on' 2025-10-01 14:13:51.026170 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.026176 | controller | and checks that' 2025-10-01 14:13:51.026182 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.026188 | controller | pattern' 2025-10-01 14:13:51.026194 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.026200 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.026205 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.026211 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.026217 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.026223 | controller | - ' exit 0' 2025-10-01 14:13:51.026229 | controller | - ' else' 2025-10-01 14:13:51.026235 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.026241 | controller | - ' exit 1' 2025-10-01 14:13:51.026247 | controller | - ' fi' 2025-10-01 14:13:51.026252 | controller | - ' ' 2025-10-01 14:13:51.026261 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.026267 | controller | them with a script' 2025-10-01 14:13:51.026272 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.026278 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.026284 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.026290 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.026296 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.026308 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.026314 | controller | - ' # it is an image' 2025-10-01 14:13:51.026319 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.026328 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.026334 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.026340 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.026345 | controller | - ' case $NAME in' 2025-10-01 14:13:51.026358 | controller | - ' API)' 2025-10-01 14:13:51.026364 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.026370 | controller | - ' ;;' 2025-10-01 14:13:51.026376 | controller | - ' esac' 2025-10-01 14:13:51.026382 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.026388 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.026394 | controller | - ' exit 1' 2025-10-01 14:13:51.026414 | controller | - ' fi' 2025-10-01 14:13:51.026423 | controller | - ' fi' 2025-10-01 14:13:51.026429 | controller | - ' done' 2025-10-01 14:13:51.026435 | controller | - ' ]' 2025-10-01 14:13:51.026441 | controller | - ' logger.go:42: 13:52:54 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.026447 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.026452 | controller | - ' logger.go:42: 13:52:55 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.026458 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.026464 | controller | so we can''t rely on' 2025-10-01 14:13:51.026470 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.026476 | controller | and checks that' 2025-10-01 14:13:51.026482 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.026488 | controller | pattern' 2025-10-01 14:13:51.026494 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.026499 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.026505 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.026511 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.026517 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.026523 | controller | - ' exit 0' 2025-10-01 14:13:51.026529 | controller | - ' else' 2025-10-01 14:13:51.026535 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.026541 | controller | - ' exit 1' 2025-10-01 14:13:51.026547 | controller | - ' fi' 2025-10-01 14:13:51.026552 | controller | - ' ' 2025-10-01 14:13:51.026558 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.026564 | controller | them with a script' 2025-10-01 14:13:51.026570 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.026576 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.026582 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.026588 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.026594 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.026605 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.026611 | controller | - ' # it is an image' 2025-10-01 14:13:51.026617 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.026626 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.026632 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.026640 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.026646 | controller | - ' case $NAME in' 2025-10-01 14:13:51.026652 | controller | - ' API)' 2025-10-01 14:13:51.026658 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.026663 | controller | - ' ;;' 2025-10-01 14:13:51.026669 | controller | - ' esac' 2025-10-01 14:13:51.026675 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.026681 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.026687 | controller | - ' exit 1' 2025-10-01 14:13:51.026693 | controller | - ' fi' 2025-10-01 14:13:51.026699 | controller | - ' fi' 2025-10-01 14:13:51.026705 | controller | - ' done' 2025-10-01 14:13:51.026711 | controller | - ' ]' 2025-10-01 14:13:51.026716 | controller | - ' logger.go:42: 13:52:55 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.026722 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.026728 | controller | - ' logger.go:42: 13:52:56 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.026734 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.026740 | controller | so we can''t rely on' 2025-10-01 14:13:51.026746 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.026752 | controller | and checks that' 2025-10-01 14:13:51.026757 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.026763 | controller | pattern' 2025-10-01 14:13:51.026769 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.026775 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.026781 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.026787 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.026793 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.026799 | controller | - ' exit 0' 2025-10-01 14:13:51.026804 | controller | - ' else' 2025-10-01 14:13:51.026810 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.026823 | controller | - ' exit 1' 2025-10-01 14:13:51.026829 | controller | - ' fi' 2025-10-01 14:13:51.026835 | controller | - ' ' 2025-10-01 14:13:51.026841 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.026847 | controller | them with a script' 2025-10-01 14:13:51.026853 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.026859 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.026865 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.026871 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.026877 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.026888 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.026894 | controller | - ' # it is an image' 2025-10-01 14:13:51.026900 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.026906 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.026912 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.026918 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.026924 | controller | - ' case $NAME in' 2025-10-01 14:13:51.026932 | controller | - ' API)' 2025-10-01 14:13:51.026938 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.026944 | controller | - ' ;;' 2025-10-01 14:13:51.026950 | controller | - ' esac' 2025-10-01 14:13:51.026956 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.026962 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.026968 | controller | - ' exit 1' 2025-10-01 14:13:51.026973 | controller | - ' fi' 2025-10-01 14:13:51.026979 | controller | - ' fi' 2025-10-01 14:13:51.026985 | controller | - ' done' 2025-10-01 14:13:51.026991 | controller | - ' ]' 2025-10-01 14:13:51.026997 | controller | - ' logger.go:42: 13:52:56 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.027003 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.027009 | controller | - ' logger.go:42: 13:52:57 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.027014 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.027020 | controller | so we can''t rely on' 2025-10-01 14:13:51.027026 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.027032 | controller | and checks that' 2025-10-01 14:13:51.027038 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.027044 | controller | pattern' 2025-10-01 14:13:51.027049 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.027055 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.027061 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.027067 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.027073 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.027079 | controller | - ' exit 0' 2025-10-01 14:13:51.027084 | controller | - ' else' 2025-10-01 14:13:51.027090 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.027096 | controller | - ' exit 1' 2025-10-01 14:13:51.027102 | controller | - ' fi' 2025-10-01 14:13:51.027108 | controller | - ' ' 2025-10-01 14:13:51.027114 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.027120 | controller | them with a script' 2025-10-01 14:13:51.027125 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.027131 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.027137 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.027143 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.027149 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.027161 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.027167 | controller | - ' # it is an image' 2025-10-01 14:13:51.027172 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.027178 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.027184 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.027190 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.027199 | controller | - ' case $NAME in' 2025-10-01 14:13:51.027205 | controller | - ' API)' 2025-10-01 14:13:51.027211 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.027219 | controller | - ' ;;' 2025-10-01 14:13:51.027225 | controller | - ' esac' 2025-10-01 14:13:51.027231 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.027237 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.027243 | controller | - ' exit 1' 2025-10-01 14:13:51.027249 | controller | - ' fi' 2025-10-01 14:13:51.027255 | controller | - ' fi' 2025-10-01 14:13:51.027261 | controller | - ' done' 2025-10-01 14:13:51.027266 | controller | - ' ]' 2025-10-01 14:13:51.027275 | controller | - ' logger.go:42: 13:52:57 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.027292 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.027299 | controller | - ' logger.go:42: 13:52:58 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.027305 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.027311 | controller | so we can''t rely on' 2025-10-01 14:13:51.027316 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.027322 | controller | and checks that' 2025-10-01 14:13:51.027328 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.027334 | controller | pattern' 2025-10-01 14:13:51.027340 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.027346 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.027351 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.027357 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.027363 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.027369 | controller | - ' exit 0' 2025-10-01 14:13:51.027375 | controller | - ' else' 2025-10-01 14:13:51.027381 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.027387 | controller | - ' exit 1' 2025-10-01 14:13:51.027393 | controller | - ' fi' 2025-10-01 14:13:51.027411 | controller | - ' ' 2025-10-01 14:13:51.027420 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.027425 | controller | them with a script' 2025-10-01 14:13:51.027431 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.027437 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.027443 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.027449 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.027455 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.027466 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.027472 | controller | - ' # it is an image' 2025-10-01 14:13:51.027478 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.027484 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.027490 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.027496 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.027501 | controller | - ' case $NAME in' 2025-10-01 14:13:51.027507 | controller | - ' API)' 2025-10-01 14:13:51.027513 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.027519 | controller | - ' ;;' 2025-10-01 14:13:51.027524 | controller | - ' esac' 2025-10-01 14:13:51.027530 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.027539 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.027545 | controller | - ' exit 1' 2025-10-01 14:13:51.027551 | controller | - ' fi' 2025-10-01 14:13:51.027556 | controller | - ' fi' 2025-10-01 14:13:51.027562 | controller | - ' done' 2025-10-01 14:13:51.027568 | controller | - ' ]' 2025-10-01 14:13:51.027574 | controller | - ' logger.go:42: 13:52:58 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.027580 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.027585 | controller | - ' logger.go:42: 13:52:59 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.027591 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.027597 | controller | so we can''t rely on' 2025-10-01 14:13:51.027603 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.027609 | controller | and checks that' 2025-10-01 14:13:51.027614 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.027620 | controller | pattern' 2025-10-01 14:13:51.027626 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.027632 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.027637 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.027643 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.027649 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.027655 | controller | - ' exit 0' 2025-10-01 14:13:51.027661 | controller | - ' else' 2025-10-01 14:13:51.027667 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.027672 | controller | - ' exit 1' 2025-10-01 14:13:51.027678 | controller | - ' fi' 2025-10-01 14:13:51.027684 | controller | - ' ' 2025-10-01 14:13:51.027690 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.027696 | controller | them with a script' 2025-10-01 14:13:51.027703 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.027729 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.027736 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.027742 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.027756 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.027768 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.027773 | controller | - ' # it is an image' 2025-10-01 14:13:51.027779 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.027785 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.027791 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.027797 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.027803 | controller | - ' case $NAME in' 2025-10-01 14:13:51.027808 | controller | - ' API)' 2025-10-01 14:13:51.027814 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.027820 | controller | - ' ;;' 2025-10-01 14:13:51.027826 | controller | - ' esac' 2025-10-01 14:13:51.027832 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.027837 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.027843 | controller | - ' exit 1' 2025-10-01 14:13:51.027849 | controller | - ' fi' 2025-10-01 14:13:51.027858 | controller | - ' fi' 2025-10-01 14:13:51.027864 | controller | - ' done' 2025-10-01 14:13:51.027870 | controller | - ' ]' 2025-10-01 14:13:51.027876 | controller | - ' logger.go:42: 13:52:59 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.027882 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.027887 | controller | - ' logger.go:42: 13:53:00 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.027893 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.027899 | controller | so we can''t rely on' 2025-10-01 14:13:51.027905 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.027911 | controller | and checks that' 2025-10-01 14:13:51.027917 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.027922 | controller | pattern' 2025-10-01 14:13:51.027928 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.027934 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.027940 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.027946 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.027951 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.027957 | controller | - ' exit 0' 2025-10-01 14:13:51.027963 | controller | - ' else' 2025-10-01 14:13:51.027969 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.027975 | controller | - ' exit 1' 2025-10-01 14:13:51.027980 | controller | - ' fi' 2025-10-01 14:13:51.027986 | controller | - ' ' 2025-10-01 14:13:51.027992 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.027998 | controller | them with a script' 2025-10-01 14:13:51.028004 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.028010 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.028015 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.028021 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.028027 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.028039 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.028044 | controller | - ' # it is an image' 2025-10-01 14:13:51.028050 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.028056 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.028062 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.028068 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.028074 | controller | - ' case $NAME in' 2025-10-01 14:13:51.028079 | controller | - ' API)' 2025-10-01 14:13:51.028085 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.028091 | controller | - ' ;;' 2025-10-01 14:13:51.028097 | controller | - ' esac' 2025-10-01 14:13:51.028106 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.028111 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.028117 | controller | - ' exit 1' 2025-10-01 14:13:51.028123 | controller | - ' fi' 2025-10-01 14:13:51.028129 | controller | - ' fi' 2025-10-01 14:13:51.028135 | controller | - ' done' 2025-10-01 14:13:51.028141 | controller | - ' ]' 2025-10-01 14:13:51.028146 | controller | - ' logger.go:42: 13:53:01 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.028155 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.028161 | controller | - ' logger.go:42: 13:53:02 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.028167 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.028172 | controller | so we can''t rely on' 2025-10-01 14:13:51.028178 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.028184 | controller | and checks that' 2025-10-01 14:13:51.028192 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.028198 | controller | pattern' 2025-10-01 14:13:51.028213 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.028219 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.028225 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.028231 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.028237 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.028243 | controller | - ' exit 0' 2025-10-01 14:13:51.028249 | controller | - ' else' 2025-10-01 14:13:51.028254 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.028260 | controller | - ' exit 1' 2025-10-01 14:13:51.028266 | controller | - ' fi' 2025-10-01 14:13:51.028272 | controller | - ' ' 2025-10-01 14:13:51.028278 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.028284 | controller | them with a script' 2025-10-01 14:13:51.028289 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.028295 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.028301 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.028307 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.028313 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.028327 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.028333 | controller | - ' # it is an image' 2025-10-01 14:13:51.028338 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.028344 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.028350 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.028356 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.028362 | controller | - ' case $NAME in' 2025-10-01 14:13:51.028368 | controller | - ' API)' 2025-10-01 14:13:51.028373 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.028379 | controller | - ' ;;' 2025-10-01 14:13:51.028385 | controller | - ' esac' 2025-10-01 14:13:51.028391 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.028397 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.028418 | controller | - ' exit 1' 2025-10-01 14:13:51.028424 | controller | - ' fi' 2025-10-01 14:13:51.028430 | controller | - ' fi' 2025-10-01 14:13:51.028436 | controller | - ' done' 2025-10-01 14:13:51.028444 | controller | - ' ]' 2025-10-01 14:13:51.028450 | controller | - ' logger.go:42: 13:53:02 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.028456 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.028462 | controller | - ' logger.go:42: 13:53:03 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.028470 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.028476 | controller | so we can''t rely on' 2025-10-01 14:13:51.028482 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.028488 | controller | and checks that' 2025-10-01 14:13:51.028493 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.028499 | controller | pattern' 2025-10-01 14:13:51.028505 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.028511 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.028517 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.028523 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.028528 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.028534 | controller | - ' exit 0' 2025-10-01 14:13:51.028540 | controller | - ' else' 2025-10-01 14:13:51.028546 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.028552 | controller | - ' exit 1' 2025-10-01 14:13:51.028557 | controller | - ' fi' 2025-10-01 14:13:51.028563 | controller | - ' ' 2025-10-01 14:13:51.028569 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.028575 | controller | them with a script' 2025-10-01 14:13:51.028581 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.028587 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.028592 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.028598 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.028604 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.028616 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.028621 | controller | - ' # it is an image' 2025-10-01 14:13:51.028627 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.028633 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.028639 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.028645 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.028651 | controller | - ' case $NAME in' 2025-10-01 14:13:51.028664 | controller | - ' API)' 2025-10-01 14:13:51.028670 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.028676 | controller | - ' ;;' 2025-10-01 14:13:51.028682 | controller | - ' esac' 2025-10-01 14:13:51.028687 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.028693 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.028699 | controller | - ' exit 1' 2025-10-01 14:13:51.028705 | controller | - ' fi' 2025-10-01 14:13:51.028711 | controller | - ' fi' 2025-10-01 14:13:51.028717 | controller | - ' done' 2025-10-01 14:13:51.028722 | controller | - ' ]' 2025-10-01 14:13:51.028728 | controller | - ' logger.go:42: 13:53:03 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.028734 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.028740 | controller | - ' logger.go:42: 13:53:04 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.028746 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.028768 | controller | so we can''t rely on' 2025-10-01 14:13:51.028775 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.028780 | controller | and checks that' 2025-10-01 14:13:51.028786 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.028792 | controller | pattern' 2025-10-01 14:13:51.028798 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.028804 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.028809 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.028815 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.028821 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.028827 | controller | - ' exit 0' 2025-10-01 14:13:51.028833 | controller | - ' else' 2025-10-01 14:13:51.028839 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.028844 | controller | - ' exit 1' 2025-10-01 14:13:51.028850 | controller | - ' fi' 2025-10-01 14:13:51.028856 | controller | - ' ' 2025-10-01 14:13:51.028862 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.028868 | controller | them with a script' 2025-10-01 14:13:51.028873 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.028879 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.028885 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.028891 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.028897 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.028908 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.028914 | controller | - ' # it is an image' 2025-10-01 14:13:51.028920 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.028926 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.028931 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.028937 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.028943 | controller | - ' case $NAME in' 2025-10-01 14:13:51.028949 | controller | - ' API)' 2025-10-01 14:13:51.028955 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.028961 | controller | - ' ;;' 2025-10-01 14:13:51.028966 | controller | - ' esac' 2025-10-01 14:13:51.028972 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.028978 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.028984 | controller | - ' exit 1' 2025-10-01 14:13:51.028989 | controller | - ' fi' 2025-10-01 14:13:51.028995 | controller | - ' fi' 2025-10-01 14:13:51.029001 | controller | - ' done' 2025-10-01 14:13:51.029007 | controller | - ' ]' 2025-10-01 14:13:51.029013 | controller | - ' logger.go:42: 13:53:04 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.029018 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.029024 | controller | - ' logger.go:42: 13:53:05 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.029030 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.029036 | controller | so we can''t rely on' 2025-10-01 14:13:51.029042 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.029048 | controller | and checks that' 2025-10-01 14:13:51.029056 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.029062 | controller | pattern' 2025-10-01 14:13:51.029068 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.029073 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.029079 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.029085 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.029091 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.029097 | controller | - ' exit 0' 2025-10-01 14:13:51.029102 | controller | - ' else' 2025-10-01 14:13:51.029108 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.029121 | controller | - ' exit 1' 2025-10-01 14:13:51.029127 | controller | - ' fi' 2025-10-01 14:13:51.029132 | controller | - ' ' 2025-10-01 14:13:51.029138 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.029144 | controller | them with a script' 2025-10-01 14:13:51.029150 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.029156 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.029162 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.029168 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.029173 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.029185 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.029194 | controller | - ' # it is an image' 2025-10-01 14:13:51.029199 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.029205 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.029211 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.029217 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.029223 | controller | - ' case $NAME in' 2025-10-01 14:13:51.029228 | controller | - ' API)' 2025-10-01 14:13:51.029234 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.029240 | controller | - ' ;;' 2025-10-01 14:13:51.029246 | controller | - ' esac' 2025-10-01 14:13:51.029252 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.029257 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.029263 | controller | - ' exit 1' 2025-10-01 14:13:51.029269 | controller | - ' fi' 2025-10-01 14:13:51.029275 | controller | - ' fi' 2025-10-01 14:13:51.029281 | controller | - ' done' 2025-10-01 14:13:51.029286 | controller | - ' ]' 2025-10-01 14:13:51.029292 | controller | - ' logger.go:42: 13:53:05 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.029298 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.029304 | controller | - ' logger.go:42: 13:53:06 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.029310 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.029315 | controller | so we can''t rely on' 2025-10-01 14:13:51.029321 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.029327 | controller | and checks that' 2025-10-01 14:13:51.029333 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.029339 | controller | pattern' 2025-10-01 14:13:51.029345 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.029353 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.029359 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.029364 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.029370 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.029376 | controller | - ' exit 0' 2025-10-01 14:13:51.029382 | controller | - ' else' 2025-10-01 14:13:51.029387 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.029393 | controller | - ' exit 1' 2025-10-01 14:13:51.029412 | controller | - ' fi' 2025-10-01 14:13:51.029420 | controller | - ' ' 2025-10-01 14:13:51.029426 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.029432 | controller | them with a script' 2025-10-01 14:13:51.029438 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.029444 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.029450 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.029455 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.029461 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.029473 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.029479 | controller | - ' # it is an image' 2025-10-01 14:13:51.029484 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.029490 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.029496 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.029502 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.029508 | controller | - ' case $NAME in' 2025-10-01 14:13:51.029514 | controller | - ' API)' 2025-10-01 14:13:51.029519 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.029525 | controller | - ' ;;' 2025-10-01 14:13:51.029531 | controller | - ' esac' 2025-10-01 14:13:51.029537 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.029543 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.029549 | controller | - ' exit 1' 2025-10-01 14:13:51.029554 | controller | - ' fi' 2025-10-01 14:13:51.029560 | controller | - ' fi' 2025-10-01 14:13:51.029569 | controller | - ' done' 2025-10-01 14:13:51.029575 | controller | - ' ]' 2025-10-01 14:13:51.029580 | controller | - ' logger.go:42: 13:53:07 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.029593 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.029600 | controller | - ' logger.go:42: 13:53:08 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.029606 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.029611 | controller | so we can''t rely on' 2025-10-01 14:13:51.029617 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.029623 | controller | and checks that' 2025-10-01 14:13:51.029629 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.029635 | controller | pattern' 2025-10-01 14:13:51.029641 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.029647 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.029658 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.029664 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.029670 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.029676 | controller | - ' exit 0' 2025-10-01 14:13:51.029681 | controller | - ' else' 2025-10-01 14:13:51.029687 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.029693 | controller | - ' exit 1' 2025-10-01 14:13:51.029699 | controller | - ' fi' 2025-10-01 14:13:51.029705 | controller | - ' ' 2025-10-01 14:13:51.029710 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.029716 | controller | them with a script' 2025-10-01 14:13:51.029722 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.029728 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.029734 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.029739 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.029745 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.029757 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.029763 | controller | - ' # it is an image' 2025-10-01 14:13:51.029769 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.029775 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.029780 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.029786 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.029792 | controller | - ' case $NAME in' 2025-10-01 14:13:51.029798 | controller | - ' API)' 2025-10-01 14:13:51.029804 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.029810 | controller | - ' ;;' 2025-10-01 14:13:51.029815 | controller | - ' esac' 2025-10-01 14:13:51.029821 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.029830 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.029835 | controller | - ' exit 1' 2025-10-01 14:13:51.029841 | controller | - ' fi' 2025-10-01 14:13:51.029847 | controller | - ' fi' 2025-10-01 14:13:51.029853 | controller | - ' done' 2025-10-01 14:13:51.029859 | controller | - ' ]' 2025-10-01 14:13:51.029864 | controller | - ' logger.go:42: 13:53:08 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.029870 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.029876 | controller | - ' logger.go:42: 13:53:09 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.029882 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.029888 | controller | so we can''t rely on' 2025-10-01 14:13:51.029894 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.029900 | controller | and checks that' 2025-10-01 14:13:51.029905 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.029911 | controller | pattern' 2025-10-01 14:13:51.029917 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.029923 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.029929 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.029935 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.029943 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.029949 | controller | - ' exit 0' 2025-10-01 14:13:51.029955 | controller | - ' else' 2025-10-01 14:13:51.029961 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.029967 | controller | - ' exit 1' 2025-10-01 14:13:51.029973 | controller | - ' fi' 2025-10-01 14:13:51.029979 | controller | - ' ' 2025-10-01 14:13:51.029984 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.029990 | controller | them with a script' 2025-10-01 14:13:51.029996 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.030002 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.030008 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.030014 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.030026 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.030039 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.030045 | controller | - ' # it is an image' 2025-10-01 14:13:51.030050 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.030056 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.030062 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.030068 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.030074 | controller | - ' case $NAME in' 2025-10-01 14:13:51.030083 | controller | - ' API)' 2025-10-01 14:13:51.030089 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.030095 | controller | - ' ;;' 2025-10-01 14:13:51.030101 | controller | - ' esac' 2025-10-01 14:13:51.030107 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.030113 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.030119 | controller | - ' exit 1' 2025-10-01 14:13:51.030125 | controller | - ' fi' 2025-10-01 14:13:51.030131 | controller | - ' fi' 2025-10-01 14:13:51.030137 | controller | - ' done' 2025-10-01 14:13:51.030143 | controller | - ' ]' 2025-10-01 14:13:51.030149 | controller | - ' logger.go:42: 13:53:09 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.030155 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.030161 | controller | - ' logger.go:42: 13:53:10 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.030167 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.030173 | controller | so we can''t rely on' 2025-10-01 14:13:51.030179 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.030187 | controller | and checks that' 2025-10-01 14:13:51.030193 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.030199 | controller | pattern' 2025-10-01 14:13:51.030205 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.030211 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.030217 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.030222 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.030231 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.030237 | controller | - ' exit 0' 2025-10-01 14:13:51.030245 | controller | - ' else' 2025-10-01 14:13:51.030251 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.030257 | controller | - ' exit 1' 2025-10-01 14:13:51.030263 | controller | - ' fi' 2025-10-01 14:13:51.030269 | controller | - ' ' 2025-10-01 14:13:51.030275 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.030281 | controller | them with a script' 2025-10-01 14:13:51.030287 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.030293 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.030299 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.030305 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.030311 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.030323 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.030329 | controller | - ' # it is an image' 2025-10-01 14:13:51.030334 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.030340 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.030346 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.030352 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.030358 | controller | - ' case $NAME in' 2025-10-01 14:13:51.030364 | controller | - ' API)' 2025-10-01 14:13:51.030370 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.030376 | controller | - ' ;;' 2025-10-01 14:13:51.030382 | controller | - ' esac' 2025-10-01 14:13:51.030388 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.030393 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.030413 | controller | - ' exit 1' 2025-10-01 14:13:51.030421 | controller | - ' fi' 2025-10-01 14:13:51.030427 | controller | - ' fi' 2025-10-01 14:13:51.030433 | controller | - ' done' 2025-10-01 14:13:51.030439 | controller | - ' ]' 2025-10-01 14:13:51.030445 | controller | - ' logger.go:42: 13:53:10 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.030451 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.030457 | controller | - ' logger.go:42: 13:53:11 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.030463 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.030468 | controller | so we can''t rely on' 2025-10-01 14:13:51.030474 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.030480 | controller | and checks that' 2025-10-01 14:13:51.030486 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.030492 | controller | pattern' 2025-10-01 14:13:51.030505 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.030511 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.030517 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.030523 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.030528 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.030534 | controller | - ' exit 0' 2025-10-01 14:13:51.030540 | controller | - ' else' 2025-10-01 14:13:51.030546 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.030552 | controller | - ' exit 1' 2025-10-01 14:13:51.030561 | controller | - ' fi' 2025-10-01 14:13:51.030567 | controller | - ' ' 2025-10-01 14:13:51.030573 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.030579 | controller | them with a script' 2025-10-01 14:13:51.030584 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.030590 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.030596 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.030602 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.030608 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.030619 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.030625 | controller | - ' # it is an image' 2025-10-01 14:13:51.030631 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.030637 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.030643 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.030649 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.030655 | controller | - ' case $NAME in' 2025-10-01 14:13:51.030663 | controller | - ' API)' 2025-10-01 14:13:51.030669 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.030675 | controller | - ' ;;' 2025-10-01 14:13:51.030681 | controller | - ' esac' 2025-10-01 14:13:51.030687 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.030693 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.030698 | controller | - ' exit 1' 2025-10-01 14:13:51.030704 | controller | - ' fi' 2025-10-01 14:13:51.030713 | controller | - ' fi' 2025-10-01 14:13:51.030718 | controller | - ' done' 2025-10-01 14:13:51.030724 | controller | - ' ]' 2025-10-01 14:13:51.030730 | controller | - ' logger.go:42: 13:53:11 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.030736 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.030742 | controller | - ' logger.go:42: 13:53:12 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.030748 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.030754 | controller | so we can''t rely on' 2025-10-01 14:13:51.030759 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.030765 | controller | and checks that' 2025-10-01 14:13:51.030771 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.030777 | controller | pattern' 2025-10-01 14:13:51.030783 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.030789 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.030795 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.030800 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.030806 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.030812 | controller | - ' exit 0' 2025-10-01 14:13:51.030818 | controller | - ' else' 2025-10-01 14:13:51.030824 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.030830 | controller | - ' exit 1' 2025-10-01 14:13:51.030836 | controller | - ' fi' 2025-10-01 14:13:51.030842 | controller | - ' ' 2025-10-01 14:13:51.030847 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.030856 | controller | them with a script' 2025-10-01 14:13:51.030862 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.030868 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.030874 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.030880 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.030886 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.030897 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.030903 | controller | - ' # it is an image' 2025-10-01 14:13:51.030909 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.030915 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.030921 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.030927 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.030932 | controller | - ' case $NAME in' 2025-10-01 14:13:51.030945 | controller | - ' API)' 2025-10-01 14:13:51.030951 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.030957 | controller | - ' ;;' 2025-10-01 14:13:51.030962 | controller | - ' esac' 2025-10-01 14:13:51.030968 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.030974 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.030980 | controller | - ' exit 1' 2025-10-01 14:13:51.030986 | controller | - ' fi' 2025-10-01 14:13:51.030992 | controller | - ' fi' 2025-10-01 14:13:51.030997 | controller | - ' done' 2025-10-01 14:13:51.031003 | controller | - ' ]' 2025-10-01 14:13:51.031009 | controller | - ' logger.go:42: 13:53:12 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.031015 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.031021 | controller | - ' logger.go:42: 13:53:13 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.031026 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.031032 | controller | so we can''t rely on' 2025-10-01 14:13:51.031038 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.031044 | controller | and checks that' 2025-10-01 14:13:51.031050 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.031055 | controller | pattern' 2025-10-01 14:13:51.031061 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.031067 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.031073 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.031079 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.031084 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.031090 | controller | - ' exit 0' 2025-10-01 14:13:51.031096 | controller | - ' else' 2025-10-01 14:13:51.031102 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.031107 | controller | - ' exit 1' 2025-10-01 14:13:51.031113 | controller | - ' fi' 2025-10-01 14:13:51.031119 | controller | - ' ' 2025-10-01 14:13:51.031125 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.031131 | controller | them with a script' 2025-10-01 14:13:51.031137 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.031145 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.031153 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.031159 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.031165 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.031177 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.031182 | controller | - ' # it is an image' 2025-10-01 14:13:51.031188 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.031194 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.031214 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.031220 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.031226 | controller | - ' case $NAME in' 2025-10-01 14:13:51.031232 | controller | - ' API)' 2025-10-01 14:13:51.031238 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.031244 | controller | - ' ;;' 2025-10-01 14:13:51.031249 | controller | - ' esac' 2025-10-01 14:13:51.031255 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.031261 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.031267 | controller | - ' exit 1' 2025-10-01 14:13:51.031273 | controller | - ' fi' 2025-10-01 14:13:51.031279 | controller | - ' fi' 2025-10-01 14:13:51.031284 | controller | - ' done' 2025-10-01 14:13:51.031290 | controller | - ' ]' 2025-10-01 14:13:51.031296 | controller | - ' logger.go:42: 13:53:14 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.031302 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.031308 | controller | - ' logger.go:42: 13:53:15 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.031313 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.031319 | controller | so we can''t rely on' 2025-10-01 14:13:51.031325 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.031331 | controller | and checks that' 2025-10-01 14:13:51.031336 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.031342 | controller | pattern' 2025-10-01 14:13:51.031348 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.031354 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.031360 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.031365 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.031376 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.031382 | controller | - ' exit 0' 2025-10-01 14:13:51.031388 | controller | - ' else' 2025-10-01 14:13:51.031394 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.031413 | controller | - ' exit 1' 2025-10-01 14:13:51.031428 | controller | - ' fi' 2025-10-01 14:13:51.031434 | controller | - ' ' 2025-10-01 14:13:51.031440 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.031445 | controller | them with a script' 2025-10-01 14:13:51.031451 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.031457 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.031463 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.031472 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.031478 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.031489 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.031495 | controller | - ' # it is an image' 2025-10-01 14:13:51.031501 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.031507 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.031513 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.031518 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.031524 | controller | - ' case $NAME in' 2025-10-01 14:13:51.031530 | controller | - ' API)' 2025-10-01 14:13:51.031536 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.031542 | controller | - ' ;;' 2025-10-01 14:13:51.031547 | controller | - ' esac' 2025-10-01 14:13:51.031553 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.031559 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.031565 | controller | - ' exit 1' 2025-10-01 14:13:51.031571 | controller | - ' fi' 2025-10-01 14:13:51.031576 | controller | - ' fi' 2025-10-01 14:13:51.031582 | controller | - ' done' 2025-10-01 14:13:51.031588 | controller | - ' ]' 2025-10-01 14:13:51.031594 | controller | - ' logger.go:42: 13:53:15 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.031599 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.031605 | controller | - ' logger.go:42: 13:53:16 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.031611 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.031617 | controller | so we can''t rely on' 2025-10-01 14:13:51.031622 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.031628 | controller | and checks that' 2025-10-01 14:13:51.031634 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.031640 | controller | pattern' 2025-10-01 14:13:51.031645 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.031651 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.031657 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.031663 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.031669 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.031674 | controller | - ' exit 0' 2025-10-01 14:13:51.031680 | controller | - ' else' 2025-10-01 14:13:51.031686 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.031692 | controller | - ' exit 1' 2025-10-01 14:13:51.031697 | controller | - ' fi' 2025-10-01 14:13:51.031703 | controller | - ' ' 2025-10-01 14:13:51.031710 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.031730 | controller | them with a script' 2025-10-01 14:13:51.031737 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.031744 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.031749 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.031755 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.031761 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.031776 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.031781 | controller | - ' # it is an image' 2025-10-01 14:13:51.031787 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.031793 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.031799 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.031805 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.031810 | controller | - ' case $NAME in' 2025-10-01 14:13:51.031816 | controller | - ' API)' 2025-10-01 14:13:51.031822 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.031828 | controller | - ' ;;' 2025-10-01 14:13:51.031834 | controller | - ' esac' 2025-10-01 14:13:51.031840 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.031845 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.031851 | controller | - ' exit 1' 2025-10-01 14:13:51.031860 | controller | - ' fi' 2025-10-01 14:13:51.031866 | controller | - ' fi' 2025-10-01 14:13:51.031872 | controller | - ' done' 2025-10-01 14:13:51.031877 | controller | - ' ]' 2025-10-01 14:13:51.031883 | controller | - ' logger.go:42: 13:53:16 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.031896 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.031902 | controller | - ' logger.go:42: 13:53:17 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.031908 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.031914 | controller | so we can''t rely on' 2025-10-01 14:13:51.031920 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.031926 | controller | and checks that' 2025-10-01 14:13:51.031932 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.031937 | controller | pattern' 2025-10-01 14:13:51.031943 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.031949 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.031955 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.031960 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.031966 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.031972 | controller | - ' exit 0' 2025-10-01 14:13:51.031978 | controller | - ' else' 2025-10-01 14:13:51.031984 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.031989 | controller | - ' exit 1' 2025-10-01 14:13:51.031995 | controller | - ' fi' 2025-10-01 14:13:51.032001 | controller | - ' ' 2025-10-01 14:13:51.032007 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.032012 | controller | them with a script' 2025-10-01 14:13:51.032018 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.032024 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.032030 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.032035 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.032041 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.032053 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.032059 | controller | - ' # it is an image' 2025-10-01 14:13:51.032067 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.032073 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.032079 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.032085 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.032090 | controller | - ' case $NAME in' 2025-10-01 14:13:51.032096 | controller | - ' API)' 2025-10-01 14:13:51.032102 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.032108 | controller | - ' ;;' 2025-10-01 14:13:51.032113 | controller | - ' esac' 2025-10-01 14:13:51.032119 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.032125 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.032131 | controller | - ' exit 1' 2025-10-01 14:13:51.032137 | controller | - ' fi' 2025-10-01 14:13:51.032142 | controller | - ' fi' 2025-10-01 14:13:51.032148 | controller | - ' done' 2025-10-01 14:13:51.032154 | controller | - ' ]' 2025-10-01 14:13:51.032160 | controller | - ' logger.go:42: 13:53:17 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.032165 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.032171 | controller | - ' logger.go:42: 13:53:18 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.032179 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.032185 | controller | so we can''t rely on' 2025-10-01 14:13:51.032191 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.032197 | controller | and checks that' 2025-10-01 14:13:51.032203 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.032208 | controller | pattern' 2025-10-01 14:13:51.032214 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.032220 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.032226 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.032232 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.032237 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.032245 | controller | - ' exit 0' 2025-10-01 14:13:51.032251 | controller | - ' else' 2025-10-01 14:13:51.032257 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.032263 | controller | - ' exit 1' 2025-10-01 14:13:51.032269 | controller | - ' fi' 2025-10-01 14:13:51.032274 | controller | - ' ' 2025-10-01 14:13:51.032280 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.032286 | controller | them with a script' 2025-10-01 14:13:51.032292 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.032298 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.032303 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.032309 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.032321 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.032333 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.032339 | controller | - ' # it is an image' 2025-10-01 14:13:51.032345 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.032351 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.032359 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.032365 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.032371 | controller | - ' case $NAME in' 2025-10-01 14:13:51.032377 | controller | - ' API)' 2025-10-01 14:13:51.032382 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.032388 | controller | - ' ;;' 2025-10-01 14:13:51.032394 | controller | - ' esac' 2025-10-01 14:13:51.032412 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.032420 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.032426 | controller | - ' exit 1' 2025-10-01 14:13:51.032432 | controller | - ' fi' 2025-10-01 14:13:51.032438 | controller | - ' fi' 2025-10-01 14:13:51.032444 | controller | - ' done' 2025-10-01 14:13:51.032449 | controller | - ' ]' 2025-10-01 14:13:51.032455 | controller | - ' logger.go:42: 13:53:18 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.032461 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.032467 | controller | - ' logger.go:42: 13:53:19 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.032473 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.032481 | controller | so we can''t rely on' 2025-10-01 14:13:51.032487 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.032493 | controller | and checks that' 2025-10-01 14:13:51.032499 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.032505 | controller | pattern' 2025-10-01 14:13:51.032510 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.032516 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.032522 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.032528 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.032534 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.032540 | controller | - ' exit 0' 2025-10-01 14:13:51.032545 | controller | - ' else' 2025-10-01 14:13:51.032551 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.032557 | controller | - ' exit 1' 2025-10-01 14:13:51.032563 | controller | - ' fi' 2025-10-01 14:13:51.032568 | controller | - ' ' 2025-10-01 14:13:51.032574 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.032580 | controller | them with a script' 2025-10-01 14:13:51.032586 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.032592 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.032597 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.032603 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.032609 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.032621 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.032626 | controller | - ' # it is an image' 2025-10-01 14:13:51.032632 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.032638 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.032644 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.032650 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.032658 | controller | - ' case $NAME in' 2025-10-01 14:13:51.032664 | controller | - ' API)' 2025-10-01 14:13:51.032670 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.032676 | controller | - ' ;;' 2025-10-01 14:13:51.032681 | controller | - ' esac' 2025-10-01 14:13:51.032687 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.032693 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.032699 | controller | - ' exit 1' 2025-10-01 14:13:51.032705 | controller | - ' fi' 2025-10-01 14:13:51.032710 | controller | - ' fi' 2025-10-01 14:13:51.032716 | controller | - ' done' 2025-10-01 14:13:51.032722 | controller | - ' ]' 2025-10-01 14:13:51.032728 | controller | - ' logger.go:42: 13:53:19 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.032734 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.032739 | controller | - ' logger.go:42: 13:53:20 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.032745 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.032751 | controller | so we can''t rely on' 2025-10-01 14:13:51.032757 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.032762 | controller | and checks that' 2025-10-01 14:13:51.032768 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.032774 | controller | pattern' 2025-10-01 14:13:51.032787 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.032793 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.032799 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.032805 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.032810 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.032816 | controller | - ' exit 0' 2025-10-01 14:13:51.032822 | controller | - ' else' 2025-10-01 14:13:51.032828 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.032834 | controller | - ' exit 1' 2025-10-01 14:13:51.032840 | controller | - ' fi' 2025-10-01 14:13:51.032845 | controller | - ' ' 2025-10-01 14:13:51.032851 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.032857 | controller | them with a script' 2025-10-01 14:13:51.032863 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.032869 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.032874 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.032880 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.032886 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.032898 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.032903 | controller | - ' # it is an image' 2025-10-01 14:13:51.032909 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.032915 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.032921 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.032927 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.032932 | controller | - ' case $NAME in' 2025-10-01 14:13:51.032941 | controller | - ' API)' 2025-10-01 14:13:51.032947 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.032956 | controller | - ' ;;' 2025-10-01 14:13:51.032962 | controller | - ' esac' 2025-10-01 14:13:51.032970 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.032976 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.032982 | controller | - ' exit 1' 2025-10-01 14:13:51.032988 | controller | - ' fi' 2025-10-01 14:13:51.032993 | controller | - ' fi' 2025-10-01 14:13:51.032999 | controller | - ' done' 2025-10-01 14:13:51.033005 | controller | - ' ]' 2025-10-01 14:13:51.033011 | controller | - ' logger.go:42: 13:53:21 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.033017 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.033023 | controller | - ' logger.go:42: 13:53:22 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.033028 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.033034 | controller | so we can''t rely on' 2025-10-01 14:13:51.033040 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.033046 | controller | and checks that' 2025-10-01 14:13:51.033052 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.033058 | controller | pattern' 2025-10-01 14:13:51.033064 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.033069 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.033078 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.033084 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.033090 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.033095 | controller | - ' exit 0' 2025-10-01 14:13:51.033101 | controller | - ' else' 2025-10-01 14:13:51.033107 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.033113 | controller | - ' exit 1' 2025-10-01 14:13:51.033119 | controller | - ' fi' 2025-10-01 14:13:51.033125 | controller | - ' ' 2025-10-01 14:13:51.033131 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.033136 | controller | them with a script' 2025-10-01 14:13:51.033144 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.033155 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.033161 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.033167 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.033173 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.033185 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.033191 | controller | - ' # it is an image' 2025-10-01 14:13:51.033196 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.033202 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.033208 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.033214 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.033220 | controller | - ' case $NAME in' 2025-10-01 14:13:51.033225 | controller | - ' API)' 2025-10-01 14:13:51.033238 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.033244 | controller | - ' ;;' 2025-10-01 14:13:51.033250 | controller | - ' esac' 2025-10-01 14:13:51.033256 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.033265 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.033271 | controller | - ' exit 1' 2025-10-01 14:13:51.033277 | controller | - ' fi' 2025-10-01 14:13:51.033282 | controller | - ' fi' 2025-10-01 14:13:51.033288 | controller | - ' done' 2025-10-01 14:13:51.033294 | controller | - ' ]' 2025-10-01 14:13:51.033300 | controller | - ' logger.go:42: 13:53:22 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.033306 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.033311 | controller | - ' logger.go:42: 13:53:23 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.033317 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.033323 | controller | so we can''t rely on' 2025-10-01 14:13:51.033329 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.033335 | controller | and checks that' 2025-10-01 14:13:51.033340 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.033346 | controller | pattern' 2025-10-01 14:13:51.033352 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.033358 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.033364 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.033369 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.033375 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.033381 | controller | - ' exit 0' 2025-10-01 14:13:51.033387 | controller | - ' else' 2025-10-01 14:13:51.033393 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.033411 | controller | - ' exit 1' 2025-10-01 14:13:51.033420 | controller | - ' fi' 2025-10-01 14:13:51.033426 | controller | - ' ' 2025-10-01 14:13:51.033431 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.033437 | controller | them with a script' 2025-10-01 14:13:51.033443 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.033449 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.033455 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.033460 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.033466 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.033478 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.033484 | controller | - ' # it is an image' 2025-10-01 14:13:51.033489 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.033495 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.033501 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.033507 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.033513 | controller | - ' case $NAME in' 2025-10-01 14:13:51.033518 | controller | - ' API)' 2025-10-01 14:13:51.033524 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.033530 | controller | - ' ;;' 2025-10-01 14:13:51.033536 | controller | - ' esac' 2025-10-01 14:13:51.033542 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.033547 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.033553 | controller | - ' exit 1' 2025-10-01 14:13:51.033562 | controller | - ' fi' 2025-10-01 14:13:51.033568 | controller | - ' fi' 2025-10-01 14:13:51.033574 | controller | - ' done' 2025-10-01 14:13:51.033579 | controller | - ' ]' 2025-10-01 14:13:51.033585 | controller | - ' logger.go:42: 13:53:23 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.033591 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.033597 | controller | - ' logger.go:42: 13:53:24 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.033603 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.033609 | controller | so we can''t rely on' 2025-10-01 14:13:51.033614 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.033620 | controller | and checks that' 2025-10-01 14:13:51.033626 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.033632 | controller | pattern' 2025-10-01 14:13:51.033638 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.033643 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.033649 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.033655 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.033661 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.033666 | controller | - ' exit 0' 2025-10-01 14:13:51.033672 | controller | - ' else' 2025-10-01 14:13:51.033678 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.033684 | controller | - ' exit 1' 2025-10-01 14:13:51.033697 | controller | - ' fi' 2025-10-01 14:13:51.033703 | controller | - ' ' 2025-10-01 14:13:51.033709 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.033714 | controller | them with a script' 2025-10-01 14:13:51.033720 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.033726 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.033732 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.033738 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.033744 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.033755 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.033761 | controller | - ' # it is an image' 2025-10-01 14:13:51.033767 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.033773 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.033779 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.033784 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.033790 | controller | - ' case $NAME in' 2025-10-01 14:13:51.033796 | controller | - ' API)' 2025-10-01 14:13:51.033802 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.033808 | controller | - ' ;;' 2025-10-01 14:13:51.033813 | controller | - ' esac' 2025-10-01 14:13:51.033819 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.033825 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.033831 | controller | - ' exit 1' 2025-10-01 14:13:51.033837 | controller | - ' fi' 2025-10-01 14:13:51.033843 | controller | - ' fi' 2025-10-01 14:13:51.033848 | controller | - ' done' 2025-10-01 14:13:51.033854 | controller | - ' ]' 2025-10-01 14:13:51.033863 | controller | - ' logger.go:42: 13:53:24 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.033869 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.033874 | controller | - ' logger.go:42: 13:53:25 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.033880 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.033886 | controller | so we can''t rely on' 2025-10-01 14:13:51.033892 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.033898 | controller | and checks that' 2025-10-01 14:13:51.033903 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.033909 | controller | pattern' 2025-10-01 14:13:51.033915 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.033921 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.033927 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.033932 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.033938 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.033944 | controller | - ' exit 0' 2025-10-01 14:13:51.033950 | controller | - ' else' 2025-10-01 14:13:51.033955 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.033961 | controller | - ' exit 1' 2025-10-01 14:13:51.033967 | controller | - ' fi' 2025-10-01 14:13:51.033973 | controller | - ' ' 2025-10-01 14:13:51.033979 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.033984 | controller | them with a script' 2025-10-01 14:13:51.033990 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.033996 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.034002 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.034007 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.034013 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.034025 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.034030 | controller | - ' # it is an image' 2025-10-01 14:13:51.034036 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.034042 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.034048 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.034053 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.034059 | controller | - ' case $NAME in' 2025-10-01 14:13:51.034065 | controller | - ' API)' 2025-10-01 14:13:51.034071 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.034077 | controller | - ' ;;' 2025-10-01 14:13:51.034085 | controller | - ' esac' 2025-10-01 14:13:51.034091 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.034097 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.034103 | controller | - ' exit 1' 2025-10-01 14:13:51.034109 | controller | - ' fi' 2025-10-01 14:13:51.034114 | controller | - ' fi' 2025-10-01 14:13:51.034120 | controller | - ' done' 2025-10-01 14:13:51.034126 | controller | - ' ]' 2025-10-01 14:13:51.034132 | controller | - ' logger.go:42: 13:53:25 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.034146 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.034155 | controller | - ' logger.go:42: 13:53:26 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.034161 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.034167 | controller | so we can''t rely on' 2025-10-01 14:13:51.034173 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.034179 | controller | and checks that' 2025-10-01 14:13:51.034185 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.034190 | controller | pattern' 2025-10-01 14:13:51.034196 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.034202 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.034208 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.034213 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.034219 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.034225 | controller | - ' exit 0' 2025-10-01 14:13:51.034231 | controller | - ' else' 2025-10-01 14:13:51.034237 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.034242 | controller | - ' exit 1' 2025-10-01 14:13:51.034248 | controller | - ' fi' 2025-10-01 14:13:51.034254 | controller | - ' ' 2025-10-01 14:13:51.034260 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.034266 | controller | them with a script' 2025-10-01 14:13:51.034271 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.034277 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.034283 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.034289 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.034297 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.034308 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.034314 | controller | - ' # it is an image' 2025-10-01 14:13:51.034320 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.034326 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.034332 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.034337 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.034343 | controller | - ' case $NAME in' 2025-10-01 14:13:51.034349 | controller | - ' API)' 2025-10-01 14:13:51.034355 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.034361 | controller | - ' ;;' 2025-10-01 14:13:51.034366 | controller | - ' esac' 2025-10-01 14:13:51.034372 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.034378 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.034384 | controller | - ' exit 1' 2025-10-01 14:13:51.034390 | controller | - ' fi' 2025-10-01 14:13:51.034395 | controller | - ' fi' 2025-10-01 14:13:51.034414 | controller | - ' done' 2025-10-01 14:13:51.034422 | controller | - ' ]' 2025-10-01 14:13:51.034428 | controller | - ' logger.go:42: 13:53:26 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.034434 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.034439 | controller | - ' logger.go:42: 13:53:28 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.034445 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.034454 | controller | so we can''t rely on' 2025-10-01 14:13:51.034460 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.034466 | controller | and checks that' 2025-10-01 14:13:51.034471 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.034477 | controller | pattern' 2025-10-01 14:13:51.034483 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.034489 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.034495 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.034500 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.034506 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.034512 | controller | - ' exit 0' 2025-10-01 14:13:51.034518 | controller | - ' else' 2025-10-01 14:13:51.034524 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.034529 | controller | - ' exit 1' 2025-10-01 14:13:51.034535 | controller | - ' fi' 2025-10-01 14:13:51.034541 | controller | - ' ' 2025-10-01 14:13:51.034547 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.034553 | controller | them with a script' 2025-10-01 14:13:51.034559 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.034564 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.034570 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.034576 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.034588 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.034600 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.034606 | controller | - ' # it is an image' 2025-10-01 14:13:51.034612 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.034620 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.034626 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.034632 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.034638 | controller | - ' case $NAME in' 2025-10-01 14:13:51.034644 | controller | - ' API)' 2025-10-01 14:13:51.034649 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.034655 | controller | - ' ;;' 2025-10-01 14:13:51.034661 | controller | - ' esac' 2025-10-01 14:13:51.034667 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.034673 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.034679 | controller | - ' exit 1' 2025-10-01 14:13:51.034684 | controller | - ' fi' 2025-10-01 14:13:51.034690 | controller | - ' fi' 2025-10-01 14:13:51.034696 | controller | - ' done' 2025-10-01 14:13:51.034702 | controller | - ' ]' 2025-10-01 14:13:51.034708 | controller | - ' logger.go:42: 13:53:28 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.034713 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.034719 | controller | - ' logger.go:42: 13:53:29 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.034725 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.034731 | controller | so we can''t rely on' 2025-10-01 14:13:51.034737 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.034745 | controller | and checks that' 2025-10-01 14:13:51.034751 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.034757 | controller | pattern' 2025-10-01 14:13:51.034763 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.034768 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.034774 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.034780 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.034786 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.034792 | controller | - ' exit 0' 2025-10-01 14:13:51.034797 | controller | - ' else' 2025-10-01 14:13:51.034803 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.034809 | controller | - ' exit 1' 2025-10-01 14:13:51.034815 | controller | - ' fi' 2025-10-01 14:13:51.034821 | controller | - ' ' 2025-10-01 14:13:51.034826 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.034832 | controller | them with a script' 2025-10-01 14:13:51.034838 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.034844 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.034850 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.034855 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.034861 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.034873 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.034878 | controller | - ' # it is an image' 2025-10-01 14:13:51.034884 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.034890 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.034896 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.034902 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.034907 | controller | - ' case $NAME in' 2025-10-01 14:13:51.034913 | controller | - ' API)' 2025-10-01 14:13:51.034919 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.034925 | controller | - ' ;;' 2025-10-01 14:13:51.034930 | controller | - ' esac' 2025-10-01 14:13:51.034937 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.034944 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.034951 | controller | - ' exit 1' 2025-10-01 14:13:51.034958 | controller | - ' fi' 2025-10-01 14:13:51.034966 | controller | - ' fi' 2025-10-01 14:13:51.034973 | controller | - ' done' 2025-10-01 14:13:51.034980 | controller | - ' ]' 2025-10-01 14:13:51.034987 | controller | - ' logger.go:42: 13:53:29 | change_keystone_config/0-deploy_keystone | Endpoints 2025-10-01 14:13:51.034994 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.035000 | controller | - ' logger.go:42: 13:53:30 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.035006 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.035012 | controller | so we can''t rely on' 2025-10-01 14:13:51.035017 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.035023 | controller | and checks that' 2025-10-01 14:13:51.035029 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.035035 | controller | pattern' 2025-10-01 14:13:51.035054 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.035061 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.035067 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.035073 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.035079 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.035085 | controller | - ' exit 0' 2025-10-01 14:13:51.035090 | controller | - ' else' 2025-10-01 14:13:51.035096 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.035102 | controller | - ' exit 1' 2025-10-01 14:13:51.035108 | controller | - ' fi' 2025-10-01 14:13:51.035114 | controller | - ' ' 2025-10-01 14:13:51.035120 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.035125 | controller | them with a script' 2025-10-01 14:13:51.035131 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.035137 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.035143 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.035149 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.035154 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.035166 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.035172 | controller | - ' # it is an image' 2025-10-01 14:13:51.035178 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.035183 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.035189 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.035195 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.035201 | controller | - ' case $NAME in' 2025-10-01 14:13:51.035207 | controller | - ' API)' 2025-10-01 14:13:51.035215 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.035221 | controller | - ' ;;' 2025-10-01 14:13:51.035227 | controller | - ' esac' 2025-10-01 14:13:51.035232 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.035238 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.035244 | controller | - ' exit 1' 2025-10-01 14:13:51.035250 | controller | - ' fi' 2025-10-01 14:13:51.035256 | controller | - ' fi' 2025-10-01 14:13:51.035261 | controller | - ' done' 2025-10-01 14:13:51.035267 | controller | - ' ]' 2025-10-01 14:13:51.035273 | controller | - ' logger.go:42: 13:53:31 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.035279 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.035285 | controller | so we can''t rely on' 2025-10-01 14:13:51.035290 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.035296 | controller | and checks that' 2025-10-01 14:13:51.035302 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.035308 | controller | pattern' 2025-10-01 14:13:51.035314 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.035320 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.035325 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.035334 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.035340 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.035346 | controller | - ' exit 0' 2025-10-01 14:13:51.035352 | controller | - ' else' 2025-10-01 14:13:51.035357 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.035363 | controller | - ' exit 1' 2025-10-01 14:13:51.035369 | controller | - ' fi' 2025-10-01 14:13:51.035375 | controller | - ' ' 2025-10-01 14:13:51.035380 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.035386 | controller | them with a script' 2025-10-01 14:13:51.035392 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.035412 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.035422 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.035428 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.035434 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.035446 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.035451 | controller | - ' # it is an image' 2025-10-01 14:13:51.035457 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.035463 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.035469 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.035475 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.035480 | controller | - ' case $NAME in' 2025-10-01 14:13:51.035492 | controller | - ' API)' 2025-10-01 14:13:51.035498 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.035504 | controller | - ' ;;' 2025-10-01 14:13:51.035517 | controller | - ' esac' 2025-10-01 14:13:51.035523 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.035529 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.035535 | controller | - ' exit 1' 2025-10-01 14:13:51.035541 | controller | - ' fi' 2025-10-01 14:13:51.035547 | controller | - ' fi' 2025-10-01 14:13:51.035553 | controller | - ' done' 2025-10-01 14:13:51.035559 | controller | - ' ]' 2025-10-01 14:13:51.035565 | controller | - ' logger.go:42: 13:53:32 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.035570 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.035576 | controller | so we can''t rely on' 2025-10-01 14:13:51.035582 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.035588 | controller | and checks that' 2025-10-01 14:13:51.035594 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.035600 | controller | pattern' 2025-10-01 14:13:51.035605 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.035611 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.035617 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.035623 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.035629 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.035637 | controller | - ' exit 0' 2025-10-01 14:13:51.035643 | controller | - ' else' 2025-10-01 14:13:51.035649 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.035657 | controller | - ' exit 1' 2025-10-01 14:13:51.035663 | controller | - ' fi' 2025-10-01 14:13:51.035669 | controller | - ' ' 2025-10-01 14:13:51.035675 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.035681 | controller | them with a script' 2025-10-01 14:13:51.035687 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.035692 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.035698 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.035704 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.035710 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.035734 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.035742 | controller | - ' # it is an image' 2025-10-01 14:13:51.035747 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.035753 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.035759 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.035765 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.035771 | controller | - ' case $NAME in' 2025-10-01 14:13:51.035780 | controller | - ' API)' 2025-10-01 14:13:51.035786 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.035792 | controller | - ' ;;' 2025-10-01 14:13:51.035797 | controller | - ' esac' 2025-10-01 14:13:51.035803 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.035809 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.035815 | controller | - ' exit 1' 2025-10-01 14:13:51.035821 | controller | - ' fi' 2025-10-01 14:13:51.035827 | controller | - ' fi' 2025-10-01 14:13:51.035833 | controller | - ' done' 2025-10-01 14:13:51.035838 | controller | - ' ]' 2025-10-01 14:13:51.035844 | controller | - ' logger.go:42: 13:53:33 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.035850 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.035856 | controller | so we can''t rely on' 2025-10-01 14:13:51.035862 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.035868 | controller | and checks that' 2025-10-01 14:13:51.035874 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.035879 | controller | pattern' 2025-10-01 14:13:51.035885 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.035891 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.035897 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.035903 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.035909 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.035914 | controller | - ' exit 0' 2025-10-01 14:13:51.035920 | controller | - ' else' 2025-10-01 14:13:51.035926 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.035932 | controller | - ' exit 1' 2025-10-01 14:13:51.035938 | controller | - ' fi' 2025-10-01 14:13:51.035944 | controller | - ' ' 2025-10-01 14:13:51.035950 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.035955 | controller | them with a script' 2025-10-01 14:13:51.035961 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.035971 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.035976 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.035982 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.035996 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.036008 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.036014 | controller | - ' # it is an image' 2025-10-01 14:13:51.036020 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.036026 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.036031 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.036037 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.036043 | controller | - ' case $NAME in' 2025-10-01 14:13:51.036049 | controller | - ' API)' 2025-10-01 14:13:51.036055 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.036060 | controller | - ' ;;' 2025-10-01 14:13:51.036066 | controller | - ' esac' 2025-10-01 14:13:51.036072 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.036078 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.036084 | controller | - ' exit 1' 2025-10-01 14:13:51.036090 | controller | - ' fi' 2025-10-01 14:13:51.036095 | controller | - ' fi' 2025-10-01 14:13:51.036101 | controller | - ' done' 2025-10-01 14:13:51.036107 | controller | - ' ]' 2025-10-01 14:13:51.036113 | controller | - ' logger.go:42: 13:53:35 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.036119 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.036125 | controller | so we can''t rely on' 2025-10-01 14:13:51.036131 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.036136 | controller | and checks that' 2025-10-01 14:13:51.036145 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.036151 | controller | pattern' 2025-10-01 14:13:51.036156 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.036162 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.036170 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.036176 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.036182 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.036187 | controller | - ' exit 0' 2025-10-01 14:13:51.036193 | controller | - ' else' 2025-10-01 14:13:51.036199 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.036205 | controller | - ' exit 1' 2025-10-01 14:13:51.036211 | controller | - ' fi' 2025-10-01 14:13:51.036216 | controller | - ' ' 2025-10-01 14:13:51.036222 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.036228 | controller | them with a script' 2025-10-01 14:13:51.036242 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.036248 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.036254 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.036260 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.036265 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.036280 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.036286 | controller | - ' # it is an image' 2025-10-01 14:13:51.036292 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.036297 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.036303 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.036311 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.036317 | controller | - ' case $NAME in' 2025-10-01 14:13:51.036323 | controller | - ' API)' 2025-10-01 14:13:51.036329 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.036335 | controller | - ' ;;' 2025-10-01 14:13:51.036340 | controller | - ' esac' 2025-10-01 14:13:51.036346 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.036352 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.036358 | controller | - ' exit 1' 2025-10-01 14:13:51.036363 | controller | - ' fi' 2025-10-01 14:13:51.036369 | controller | - ' fi' 2025-10-01 14:13:51.036375 | controller | - ' done' 2025-10-01 14:13:51.036381 | controller | - ' ]' 2025-10-01 14:13:51.036386 | controller | - ' logger.go:42: 13:53:36 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.036392 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.036410 | controller | so we can''t rely on' 2025-10-01 14:13:51.036419 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.036424 | controller | and checks that' 2025-10-01 14:13:51.036430 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.036436 | controller | pattern' 2025-10-01 14:13:51.036442 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.036448 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.036461 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.036467 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.036473 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.036479 | controller | - ' exit 0' 2025-10-01 14:13:51.036484 | controller | - ' else' 2025-10-01 14:13:51.036490 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.036496 | controller | - ' exit 1' 2025-10-01 14:13:51.036502 | controller | - ' fi' 2025-10-01 14:13:51.036508 | controller | - ' ' 2025-10-01 14:13:51.036514 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.036519 | controller | them with a script' 2025-10-01 14:13:51.036525 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.036531 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.036537 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.036542 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.036548 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.036560 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.036566 | controller | - ' # it is an image' 2025-10-01 14:13:51.036572 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.036577 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.036586 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.036592 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.036598 | controller | - ' case $NAME in' 2025-10-01 14:13:51.036604 | controller | - ' API)' 2025-10-01 14:13:51.036610 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.036615 | controller | - ' ;;' 2025-10-01 14:13:51.036621 | controller | - ' esac' 2025-10-01 14:13:51.036627 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.036633 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.036638 | controller | - ' exit 1' 2025-10-01 14:13:51.036644 | controller | - ' fi' 2025-10-01 14:13:51.036650 | controller | - ' fi' 2025-10-01 14:13:51.036656 | controller | - ' done' 2025-10-01 14:13:51.036662 | controller | - ' ]' 2025-10-01 14:13:51.036667 | controller | - ' logger.go:42: 13:53:37 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.036673 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.036679 | controller | so we can''t rely on' 2025-10-01 14:13:51.036685 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.036691 | controller | and checks that' 2025-10-01 14:13:51.036696 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.036702 | controller | pattern' 2025-10-01 14:13:51.036708 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.036714 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.036720 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.036725 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.036731 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.036737 | controller | - ' exit 0' 2025-10-01 14:13:51.036743 | controller | - ' else' 2025-10-01 14:13:51.036749 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.036754 | controller | - ' exit 1' 2025-10-01 14:13:51.036760 | controller | - ' fi' 2025-10-01 14:13:51.036766 | controller | - ' ' 2025-10-01 14:13:51.036772 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.036777 | controller | them with a script' 2025-10-01 14:13:51.036783 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.036789 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.036795 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.036800 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.036806 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.036818 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.036824 | controller | - ' # it is an image' 2025-10-01 14:13:51.036830 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.036835 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.036841 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.036847 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.036853 | controller | - ' case $NAME in' 2025-10-01 14:13:51.036858 | controller | - ' API)' 2025-10-01 14:13:51.036864 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.036873 | controller | - ' ;;' 2025-10-01 14:13:51.036878 | controller | - ' esac' 2025-10-01 14:13:51.036884 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.036890 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.036896 | controller | - ' exit 1' 2025-10-01 14:13:51.036902 | controller | - ' fi' 2025-10-01 14:13:51.036914 | controller | - ' fi' 2025-10-01 14:13:51.036920 | controller | - ' done' 2025-10-01 14:13:51.036926 | controller | - ' ]' 2025-10-01 14:13:51.036932 | controller | - ' logger.go:42: 13:53:38 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.036937 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.036943 | controller | so we can''t rely on' 2025-10-01 14:13:51.036949 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.036955 | controller | and checks that' 2025-10-01 14:13:51.036961 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.036966 | controller | pattern' 2025-10-01 14:13:51.036972 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.036978 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.036984 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.036990 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.036996 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.037001 | controller | - ' exit 0' 2025-10-01 14:13:51.037007 | controller | - ' else' 2025-10-01 14:13:51.037013 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.037019 | controller | - ' exit 1' 2025-10-01 14:13:51.037025 | controller | - ' fi' 2025-10-01 14:13:51.037030 | controller | - ' ' 2025-10-01 14:13:51.037036 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.037042 | controller | them with a script' 2025-10-01 14:13:51.037048 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.037054 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.037059 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.037065 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.037071 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.037083 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.037088 | controller | - ' # it is an image' 2025-10-01 14:13:51.037094 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.037100 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.037106 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.037112 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.037118 | controller | - ' case $NAME in' 2025-10-01 14:13:51.037123 | controller | - ' API)' 2025-10-01 14:13:51.037129 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.037135 | controller | - ' ;;' 2025-10-01 14:13:51.037141 | controller | - ' esac' 2025-10-01 14:13:51.037147 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.037152 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.037161 | controller | - ' exit 1' 2025-10-01 14:13:51.037167 | controller | - ' fi' 2025-10-01 14:13:51.037173 | controller | - ' fi' 2025-10-01 14:13:51.037179 | controller | - ' done' 2025-10-01 14:13:51.037184 | controller | - ' ]' 2025-10-01 14:13:51.037190 | controller | - ' logger.go:42: 13:53:39 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.037196 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.037202 | controller | so we can''t rely on' 2025-10-01 14:13:51.037210 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.037216 | controller | and checks that' 2025-10-01 14:13:51.037222 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.037228 | controller | pattern' 2025-10-01 14:13:51.037234 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.037239 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.037245 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.037251 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.037257 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.037263 | controller | - ' exit 0' 2025-10-01 14:13:51.037268 | controller | - ' else' 2025-10-01 14:13:51.037274 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.037280 | controller | - ' exit 1' 2025-10-01 14:13:51.037286 | controller | - ' fi' 2025-10-01 14:13:51.037292 | controller | - ' ' 2025-10-01 14:13:51.037300 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.037306 | controller | them with a script' 2025-10-01 14:13:51.037311 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.037317 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.037323 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.037329 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.037335 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.037346 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.037358 | controller | - ' # it is an image' 2025-10-01 14:13:51.037364 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.037370 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.037376 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.037382 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.037388 | controller | - ' case $NAME in' 2025-10-01 14:13:51.037393 | controller | - ' API)' 2025-10-01 14:13:51.037412 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.037420 | controller | - ' ;;' 2025-10-01 14:13:51.037426 | controller | - ' esac' 2025-10-01 14:13:51.037432 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.037438 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.037444 | controller | - ' exit 1' 2025-10-01 14:13:51.037450 | controller | - ' fi' 2025-10-01 14:13:51.037455 | controller | - ' fi' 2025-10-01 14:13:51.037461 | controller | - ' done' 2025-10-01 14:13:51.037467 | controller | - ' ]' 2025-10-01 14:13:51.037473 | controller | - ' logger.go:42: 13:53:41 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.037478 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.037490 | controller | so we can''t rely on' 2025-10-01 14:13:51.037496 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.037502 | controller | and checks that' 2025-10-01 14:13:51.037508 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.037513 | controller | pattern' 2025-10-01 14:13:51.037519 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.037525 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.037531 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.037537 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.037542 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.037548 | controller | - ' exit 0' 2025-10-01 14:13:51.037554 | controller | - ' else' 2025-10-01 14:13:51.037560 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.037566 | controller | - ' exit 1' 2025-10-01 14:13:51.037571 | controller | - ' fi' 2025-10-01 14:13:51.037577 | controller | - ' ' 2025-10-01 14:13:51.037583 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.037589 | controller | them with a script' 2025-10-01 14:13:51.037594 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.037600 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.037606 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.037612 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.037618 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.037629 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.037635 | controller | - ' # it is an image' 2025-10-01 14:13:51.037641 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.037647 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.037652 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.037658 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.037664 | controller | - ' case $NAME in' 2025-10-01 14:13:51.037670 | controller | - ' API)' 2025-10-01 14:13:51.037676 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.037681 | controller | - ' ;;' 2025-10-01 14:13:51.037687 | controller | - ' esac' 2025-10-01 14:13:51.037693 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.037701 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.037707 | controller | - ' exit 1' 2025-10-01 14:13:51.037713 | controller | - ' fi' 2025-10-01 14:13:51.037719 | controller | - ' fi' 2025-10-01 14:13:51.037725 | controller | - ' done' 2025-10-01 14:13:51.037730 | controller | - ' ]' 2025-10-01 14:13:51.037736 | controller | - ' logger.go:42: 13:53:42 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.037742 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.037748 | controller | so we can''t rely on' 2025-10-01 14:13:51.037753 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.037759 | controller | and checks that' 2025-10-01 14:13:51.037765 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.037773 | controller | pattern' 2025-10-01 14:13:51.037779 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.037785 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.037791 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.037797 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.037802 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.037808 | controller | - ' exit 0' 2025-10-01 14:13:51.037814 | controller | - ' else' 2025-10-01 14:13:51.037827 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.037833 | controller | - ' exit 1' 2025-10-01 14:13:51.037839 | controller | - ' fi' 2025-10-01 14:13:51.037845 | controller | - ' ' 2025-10-01 14:13:51.037850 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.037856 | controller | them with a script' 2025-10-01 14:13:51.037862 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.037868 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.037874 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.037880 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.037885 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.037897 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.037903 | controller | - ' # it is an image' 2025-10-01 14:13:51.037909 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.037914 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.037920 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.037926 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.037932 | controller | - ' case $NAME in' 2025-10-01 14:13:51.037937 | controller | - ' API)' 2025-10-01 14:13:51.037943 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.037949 | controller | - ' ;;' 2025-10-01 14:13:51.037955 | controller | - ' esac' 2025-10-01 14:13:51.037961 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.037967 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.037972 | controller | - ' exit 1' 2025-10-01 14:13:51.037978 | controller | - ' fi' 2025-10-01 14:13:51.037984 | controller | - ' fi' 2025-10-01 14:13:51.037990 | controller | - ' done' 2025-10-01 14:13:51.037996 | controller | - ' ]' 2025-10-01 14:13:51.038001 | controller | - ' logger.go:42: 13:53:43 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.038007 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.038013 | controller | so we can''t rely on' 2025-10-01 14:13:51.038019 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.038025 | controller | and checks that' 2025-10-01 14:13:51.038031 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.038036 | controller | pattern' 2025-10-01 14:13:51.038042 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.038048 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.038054 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.038062 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.038068 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.038074 | controller | - ' exit 0' 2025-10-01 14:13:51.038080 | controller | - ' else' 2025-10-01 14:13:51.038086 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.038091 | controller | - ' exit 1' 2025-10-01 14:13:51.038097 | controller | - ' fi' 2025-10-01 14:13:51.038103 | controller | - ' ' 2025-10-01 14:13:51.038109 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.038115 | controller | them with a script' 2025-10-01 14:13:51.038120 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.038126 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.038132 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.038138 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.038144 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.038156 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.038161 | controller | - ' # it is an image' 2025-10-01 14:13:51.038167 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.038173 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.038179 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.038185 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.038190 | controller | - ' case $NAME in' 2025-10-01 14:13:51.038196 | controller | - ' API)' 2025-10-01 14:13:51.038202 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.038208 | controller | - ' ;;' 2025-10-01 14:13:51.038214 | controller | - ' esac' 2025-10-01 14:13:51.038222 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.038228 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.038234 | controller | - ' exit 1' 2025-10-01 14:13:51.038239 | controller | - ' fi' 2025-10-01 14:13:51.038245 | controller | - ' fi' 2025-10-01 14:13:51.038251 | controller | - ' done' 2025-10-01 14:13:51.038257 | controller | - ' ]' 2025-10-01 14:13:51.038263 | controller | - ' logger.go:42: 13:53:44 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.038277 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.038283 | controller | so we can''t rely on' 2025-10-01 14:13:51.038289 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.038295 | controller | and checks that' 2025-10-01 14:13:51.038301 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.038307 | controller | pattern' 2025-10-01 14:13:51.038313 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.038318 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.038324 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.038330 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.038336 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.038342 | controller | - ' exit 0' 2025-10-01 14:13:51.038348 | controller | - ' else' 2025-10-01 14:13:51.038353 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.038362 | controller | - ' exit 1' 2025-10-01 14:13:51.038368 | controller | - ' fi' 2025-10-01 14:13:51.038376 | controller | - ' ' 2025-10-01 14:13:51.038382 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.038388 | controller | them with a script' 2025-10-01 14:13:51.038394 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.038412 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.038420 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.038426 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.038432 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.038446 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.038452 | controller | - ' # it is an image' 2025-10-01 14:13:51.038458 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.038464 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.038470 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.038475 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.038481 | controller | - ' case $NAME in' 2025-10-01 14:13:51.038489 | controller | - ' API)' 2025-10-01 14:13:51.038495 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.038501 | controller | - ' ;;' 2025-10-01 14:13:51.038507 | controller | - ' esac' 2025-10-01 14:13:51.038513 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.038519 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.038525 | controller | - ' exit 1' 2025-10-01 14:13:51.038530 | controller | - ' fi' 2025-10-01 14:13:51.038536 | controller | - ' fi' 2025-10-01 14:13:51.038542 | controller | - ' done' 2025-10-01 14:13:51.038548 | controller | - ' ]' 2025-10-01 14:13:51.038554 | controller | - ' logger.go:42: 13:53:45 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.038559 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.038565 | controller | so we can''t rely on' 2025-10-01 14:13:51.038571 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.038577 | controller | and checks that' 2025-10-01 14:13:51.038583 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.038589 | controller | pattern' 2025-10-01 14:13:51.038595 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.038600 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.038606 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.038612 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.038618 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.038624 | controller | - ' exit 0' 2025-10-01 14:13:51.038630 | controller | - ' else' 2025-10-01 14:13:51.038636 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.038641 | controller | - ' exit 1' 2025-10-01 14:13:51.038647 | controller | - ' fi' 2025-10-01 14:13:51.038653 | controller | - ' ' 2025-10-01 14:13:51.038659 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.038665 | controller | them with a script' 2025-10-01 14:13:51.038671 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.038679 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.038685 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.038691 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.038697 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.038708 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.038714 | controller | - ' # it is an image' 2025-10-01 14:13:51.038720 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.038726 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.038739 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.038745 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.038751 | controller | - ' case $NAME in' 2025-10-01 14:13:51.038756 | controller | - ' API)' 2025-10-01 14:13:51.038762 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.038768 | controller | - ' ;;' 2025-10-01 14:13:51.038774 | controller | - ' esac' 2025-10-01 14:13:51.038780 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.038786 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.038792 | controller | - ' exit 1' 2025-10-01 14:13:51.038797 | controller | - ' fi' 2025-10-01 14:13:51.038803 | controller | - ' fi' 2025-10-01 14:13:51.038809 | controller | - ' done' 2025-10-01 14:13:51.038815 | controller | - ' ]' 2025-10-01 14:13:51.038821 | controller | - ' logger.go:42: 13:53:47 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.038826 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.038832 | controller | so we can''t rely on' 2025-10-01 14:13:51.038838 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.038844 | controller | and checks that' 2025-10-01 14:13:51.038849 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.038855 | controller | pattern' 2025-10-01 14:13:51.038861 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.038867 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.038873 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.038879 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.038884 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.038890 | controller | - ' exit 0' 2025-10-01 14:13:51.038896 | controller | - ' else' 2025-10-01 14:13:51.038902 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.038907 | controller | - ' exit 1' 2025-10-01 14:13:51.038913 | controller | - ' fi' 2025-10-01 14:13:51.038919 | controller | - ' ' 2025-10-01 14:13:51.038925 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.038931 | controller | them with a script' 2025-10-01 14:13:51.038937 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.038942 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.038948 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.038954 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.038960 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.038974 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.038980 | controller | - ' # it is an image' 2025-10-01 14:13:51.038986 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.038991 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.038997 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.039003 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.039009 | controller | - ' case $NAME in' 2025-10-01 14:13:51.039014 | controller | - ' API)' 2025-10-01 14:13:51.039020 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.039026 | controller | - ' ;;' 2025-10-01 14:13:51.039032 | controller | - ' esac' 2025-10-01 14:13:51.039038 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.039043 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.039049 | controller | - ' exit 1' 2025-10-01 14:13:51.039055 | controller | - ' fi' 2025-10-01 14:13:51.039061 | controller | - ' fi' 2025-10-01 14:13:51.039067 | controller | - ' done' 2025-10-01 14:13:51.039072 | controller | - ' ]' 2025-10-01 14:13:51.039078 | controller | - ' logger.go:42: 13:53:48 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.039084 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.039090 | controller | so we can''t rely on' 2025-10-01 14:13:51.039096 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.039101 | controller | and checks that' 2025-10-01 14:13:51.039107 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.039113 | controller | pattern' 2025-10-01 14:13:51.039119 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.039125 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.039130 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.039136 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.039145 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.039150 | controller | - ' exit 0' 2025-10-01 14:13:51.039156 | controller | - ' else' 2025-10-01 14:13:51.039162 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.039168 | controller | - ' exit 1' 2025-10-01 14:13:51.039174 | controller | - ' fi' 2025-10-01 14:13:51.039180 | controller | - ' ' 2025-10-01 14:13:51.039192 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.039198 | controller | them with a script' 2025-10-01 14:13:51.039204 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.039210 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.039216 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.039222 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.039227 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.039239 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.039245 | controller | - ' # it is an image' 2025-10-01 14:13:51.039251 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.039259 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.039265 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.039271 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.039279 | controller | - ' case $NAME in' 2025-10-01 14:13:51.039285 | controller | - ' API)' 2025-10-01 14:13:51.039291 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.039296 | controller | - ' ;;' 2025-10-01 14:13:51.039302 | controller | - ' esac' 2025-10-01 14:13:51.039308 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.039314 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.039320 | controller | - ' exit 1' 2025-10-01 14:13:51.039326 | controller | - ' fi' 2025-10-01 14:13:51.039331 | controller | - ' fi' 2025-10-01 14:13:51.039337 | controller | - ' done' 2025-10-01 14:13:51.039343 | controller | - ' ]' 2025-10-01 14:13:51.039349 | controller | - ' logger.go:42: 13:53:49 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.039355 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.039361 | controller | so we can''t rely on' 2025-10-01 14:13:51.039366 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.039372 | controller | and checks that' 2025-10-01 14:13:51.039378 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.039384 | controller | pattern' 2025-10-01 14:13:51.039390 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.039395 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.039416 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.039422 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.039428 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.039434 | controller | - ' exit 0' 2025-10-01 14:13:51.039440 | controller | - ' else' 2025-10-01 14:13:51.039446 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.039451 | controller | - ' exit 1' 2025-10-01 14:13:51.039463 | controller | - ' fi' 2025-10-01 14:13:51.039469 | controller | - ' ' 2025-10-01 14:13:51.039474 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.039480 | controller | them with a script' 2025-10-01 14:13:51.039486 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.039492 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.039498 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.039503 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.039509 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.039521 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.039526 | controller | - ' # it is an image' 2025-10-01 14:13:51.039532 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.039538 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.039544 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.039550 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.039555 | controller | - ' case $NAME in' 2025-10-01 14:13:51.039561 | controller | - ' API)' 2025-10-01 14:13:51.039570 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.039576 | controller | - ' ;;' 2025-10-01 14:13:51.039581 | controller | - ' esac' 2025-10-01 14:13:51.039587 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.039593 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.039599 | controller | - ' exit 1' 2025-10-01 14:13:51.039604 | controller | - ' fi' 2025-10-01 14:13:51.039610 | controller | - ' fi' 2025-10-01 14:13:51.039616 | controller | - ' done' 2025-10-01 14:13:51.039622 | controller | - ' ]' 2025-10-01 14:13:51.039628 | controller | - ' logger.go:42: 13:53:50 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.039633 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.039639 | controller | so we can''t rely on' 2025-10-01 14:13:51.039645 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.039651 | controller | and checks that' 2025-10-01 14:13:51.039663 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.039669 | controller | pattern' 2025-10-01 14:13:51.039675 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.039681 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.039687 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.039693 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.039698 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.039704 | controller | - ' exit 0' 2025-10-01 14:13:51.039710 | controller | - ' else' 2025-10-01 14:13:51.039716 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.039722 | controller | - ' exit 1' 2025-10-01 14:13:51.039757 | controller | - ' fi' 2025-10-01 14:13:51.039764 | controller | - ' ' 2025-10-01 14:13:51.039770 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.039776 | controller | them with a script' 2025-10-01 14:13:51.039782 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.039788 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.039793 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.039799 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.039805 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.039817 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.039822 | controller | - ' # it is an image' 2025-10-01 14:13:51.039828 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.039834 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.039840 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.039846 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.039851 | controller | - ' case $NAME in' 2025-10-01 14:13:51.039857 | controller | - ' API)' 2025-10-01 14:13:51.039863 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.039869 | controller | - ' ;;' 2025-10-01 14:13:51.039875 | controller | - ' esac' 2025-10-01 14:13:51.039880 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.039886 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.039895 | controller | - ' exit 1' 2025-10-01 14:13:51.039901 | controller | - ' fi' 2025-10-01 14:13:51.039907 | controller | - ' fi' 2025-10-01 14:13:51.039913 | controller | - ' done' 2025-10-01 14:13:51.039919 | controller | - ' ]' 2025-10-01 14:13:51.039924 | controller | - ' logger.go:42: 13:53:51 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.039930 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.039936 | controller | so we can''t rely on' 2025-10-01 14:13:51.039942 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.039948 | controller | and checks that' 2025-10-01 14:13:51.039953 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.039959 | controller | pattern' 2025-10-01 14:13:51.039965 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.039971 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.039977 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.039982 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.039988 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.039994 | controller | - ' exit 0' 2025-10-01 14:13:51.040000 | controller | - ' else' 2025-10-01 14:13:51.040005 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.040011 | controller | - ' exit 1' 2025-10-01 14:13:51.040017 | controller | - ' fi' 2025-10-01 14:13:51.040023 | controller | - ' ' 2025-10-01 14:13:51.040028 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.040034 | controller | them with a script' 2025-10-01 14:13:51.040040 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.040046 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.040052 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.040058 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.040063 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.040075 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.040081 | controller | - ' # it is an image' 2025-10-01 14:13:51.040086 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.040092 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.040098 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.040104 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.040109 | controller | - ' case $NAME in' 2025-10-01 14:13:51.040115 | controller | - ' API)' 2025-10-01 14:13:51.040128 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.040134 | controller | - ' ;;' 2025-10-01 14:13:51.040140 | controller | - ' esac' 2025-10-01 14:13:51.040146 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.040151 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.040157 | controller | - ' exit 1' 2025-10-01 14:13:51.040163 | controller | - ' fi' 2025-10-01 14:13:51.040169 | controller | - ' fi' 2025-10-01 14:13:51.040175 | controller | - ' done' 2025-10-01 14:13:51.040180 | controller | - ' ]' 2025-10-01 14:13:51.040186 | controller | - ' logger.go:42: 13:53:53 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.040195 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.040201 | controller | so we can''t rely on' 2025-10-01 14:13:51.040206 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.040212 | controller | and checks that' 2025-10-01 14:13:51.040218 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.040224 | controller | pattern' 2025-10-01 14:13:51.040230 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.040236 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.040241 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.040250 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.040256 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.040262 | controller | - ' exit 0' 2025-10-01 14:13:51.040267 | controller | - ' else' 2025-10-01 14:13:51.040273 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.040279 | controller | - ' exit 1' 2025-10-01 14:13:51.040285 | controller | - ' fi' 2025-10-01 14:13:51.040290 | controller | - ' ' 2025-10-01 14:13:51.040296 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.040302 | controller | them with a script' 2025-10-01 14:13:51.040308 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.040314 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.040320 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.040325 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.040331 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.040343 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.040351 | controller | - ' # it is an image' 2025-10-01 14:13:51.040356 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.040362 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.040368 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.040374 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.040380 | controller | - ' case $NAME in' 2025-10-01 14:13:51.040385 | controller | - ' API)' 2025-10-01 14:13:51.040391 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.040409 | controller | - ' ;;' 2025-10-01 14:13:51.040417 | controller | - ' esac' 2025-10-01 14:13:51.040423 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.040429 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.040435 | controller | - ' exit 1' 2025-10-01 14:13:51.040441 | controller | - ' fi' 2025-10-01 14:13:51.040446 | controller | - ' fi' 2025-10-01 14:13:51.040452 | controller | - ' done' 2025-10-01 14:13:51.040458 | controller | - ' ]' 2025-10-01 14:13:51.040464 | controller | - ' logger.go:42: 13:53:54 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.040470 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.040475 | controller | so we can''t rely on' 2025-10-01 14:13:51.040481 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.040487 | controller | and checks that' 2025-10-01 14:13:51.040493 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.040502 | controller | pattern' 2025-10-01 14:13:51.040507 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.040513 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.040519 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.040528 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.040533 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.040539 | controller | - ' exit 0' 2025-10-01 14:13:51.040545 | controller | - ' else' 2025-10-01 14:13:51.040553 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.040559 | controller | - ' exit 1' 2025-10-01 14:13:51.040565 | controller | - ' fi' 2025-10-01 14:13:51.040570 | controller | - ' ' 2025-10-01 14:13:51.040576 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.040582 | controller | them with a script' 2025-10-01 14:13:51.040588 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.040594 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.040606 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.040613 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.040619 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.040630 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.040636 | controller | - ' # it is an image' 2025-10-01 14:13:51.040642 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.040648 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.040653 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.040659 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.040665 | controller | - ' case $NAME in' 2025-10-01 14:13:51.040671 | controller | - ' API)' 2025-10-01 14:13:51.040676 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.040682 | controller | - ' ;;' 2025-10-01 14:13:51.040688 | controller | - ' esac' 2025-10-01 14:13:51.040694 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.040700 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.040705 | controller | - ' exit 1' 2025-10-01 14:13:51.040711 | controller | - ' fi' 2025-10-01 14:13:51.040717 | controller | - ' fi' 2025-10-01 14:13:51.040723 | controller | - ' done' 2025-10-01 14:13:51.040729 | controller | - ' ]' 2025-10-01 14:13:51.040734 | controller | - ' logger.go:42: 13:53:55 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.040740 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.040746 | controller | so we can''t rely on' 2025-10-01 14:13:51.040752 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.040758 | controller | and checks that' 2025-10-01 14:13:51.040763 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.040769 | controller | pattern' 2025-10-01 14:13:51.040775 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.040783 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.040792 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.040798 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.040804 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.040809 | controller | - ' exit 0' 2025-10-01 14:13:51.040815 | controller | - ' else' 2025-10-01 14:13:51.040821 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.040827 | controller | - ' exit 1' 2025-10-01 14:13:51.040832 | controller | - ' fi' 2025-10-01 14:13:51.040838 | controller | - ' ' 2025-10-01 14:13:51.040844 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.040850 | controller | them with a script' 2025-10-01 14:13:51.040856 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.040861 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.040867 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.040873 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.040879 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.040890 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.040896 | controller | - ' # it is an image' 2025-10-01 14:13:51.040902 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.040908 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.040914 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.040919 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.040925 | controller | - ' case $NAME in' 2025-10-01 14:13:51.040931 | controller | - ' API)' 2025-10-01 14:13:51.040937 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.040942 | controller | - ' ;;' 2025-10-01 14:13:51.040948 | controller | - ' esac' 2025-10-01 14:13:51.040954 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.040960 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.040966 | controller | - ' exit 1' 2025-10-01 14:13:51.040971 | controller | - ' fi' 2025-10-01 14:13:51.040977 | controller | - ' fi' 2025-10-01 14:13:51.040983 | controller | - ' done' 2025-10-01 14:13:51.040989 | controller | - ' ]' 2025-10-01 14:13:51.040995 | controller | - ' logger.go:42: 13:53:56 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.041000 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.041006 | controller | so we can''t rely on' 2025-10-01 14:13:51.041012 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.041018 | controller | and checks that' 2025-10-01 14:13:51.041024 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.041029 | controller | pattern' 2025-10-01 14:13:51.041035 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.041047 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.041053 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.041059 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.041065 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.041071 | controller | - ' exit 0' 2025-10-01 14:13:51.041077 | controller | - ' else' 2025-10-01 14:13:51.041085 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.041091 | controller | - ' exit 1' 2025-10-01 14:13:51.041097 | controller | - ' fi' 2025-10-01 14:13:51.041103 | controller | - ' ' 2025-10-01 14:13:51.041108 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.041114 | controller | them with a script' 2025-10-01 14:13:51.041120 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.041126 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.041132 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.041137 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.041143 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.041155 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.041161 | controller | - ' # it is an image' 2025-10-01 14:13:51.041166 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.041172 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.041178 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.041184 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.041190 | controller | - ' case $NAME in' 2025-10-01 14:13:51.041198 | controller | - ' API)' 2025-10-01 14:13:51.041204 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.041210 | controller | - ' ;;' 2025-10-01 14:13:51.041216 | controller | - ' esac' 2025-10-01 14:13:51.041222 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.041228 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.041236 | controller | - ' exit 1' 2025-10-01 14:13:51.041242 | controller | - ' fi' 2025-10-01 14:13:51.041248 | controller | - ' fi' 2025-10-01 14:13:51.041253 | controller | - ' done' 2025-10-01 14:13:51.041259 | controller | - ' ]' 2025-10-01 14:13:51.041265 | controller | - ' logger.go:42: 13:53:57 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.041271 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.041277 | controller | so we can''t rely on' 2025-10-01 14:13:51.041283 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.041288 | controller | and checks that' 2025-10-01 14:13:51.041294 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.041300 | controller | pattern' 2025-10-01 14:13:51.041306 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.041312 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.041318 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.041323 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.041329 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.041335 | controller | - ' exit 0' 2025-10-01 14:13:51.041341 | controller | - ' else' 2025-10-01 14:13:51.041347 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.041353 | controller | - ' exit 1' 2025-10-01 14:13:51.041359 | controller | - ' fi' 2025-10-01 14:13:51.041365 | controller | - ' ' 2025-10-01 14:13:51.041370 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.041376 | controller | them with a script' 2025-10-01 14:13:51.041385 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.041391 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.041399 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.041418 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.041430 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.041441 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.041447 | controller | - ' # it is an image' 2025-10-01 14:13:51.041453 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.041459 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.041465 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.041470 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.041476 | controller | - ' case $NAME in' 2025-10-01 14:13:51.041482 | controller | - ' API)' 2025-10-01 14:13:51.041488 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.041494 | controller | - ' ;;' 2025-10-01 14:13:51.041499 | controller | - ' esac' 2025-10-01 14:13:51.041505 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.041518 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.041524 | controller | - ' exit 1' 2025-10-01 14:13:51.041530 | controller | - ' fi' 2025-10-01 14:13:51.041536 | controller | - ' fi' 2025-10-01 14:13:51.041542 | controller | - ' done' 2025-10-01 14:13:51.041548 | controller | - ' ]' 2025-10-01 14:13:51.041554 | controller | - ' logger.go:42: 13:53:59 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.041559 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.041565 | controller | so we can''t rely on' 2025-10-01 14:13:51.041571 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.041577 | controller | and checks that' 2025-10-01 14:13:51.041583 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.041588 | controller | pattern' 2025-10-01 14:13:51.041594 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.041600 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.041606 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.041612 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.041618 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.041623 | controller | - ' exit 0' 2025-10-01 14:13:51.041632 | controller | - ' else' 2025-10-01 14:13:51.041638 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.041643 | controller | - ' exit 1' 2025-10-01 14:13:51.041649 | controller | - ' fi' 2025-10-01 14:13:51.041655 | controller | - ' ' 2025-10-01 14:13:51.041661 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.041667 | controller | them with a script' 2025-10-01 14:13:51.041672 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.041678 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.041684 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.041690 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.041699 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.041710 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.041716 | controller | - ' # it is an image' 2025-10-01 14:13:51.041722 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.041728 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.041733 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.041739 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.041745 | controller | - ' case $NAME in' 2025-10-01 14:13:51.041751 | controller | - ' API)' 2025-10-01 14:13:51.041757 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.041762 | controller | - ' ;;' 2025-10-01 14:13:51.041768 | controller | - ' esac' 2025-10-01 14:13:51.041774 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.041780 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.041785 | controller | - ' exit 1' 2025-10-01 14:13:51.041791 | controller | - ' fi' 2025-10-01 14:13:51.041797 | controller | - ' fi' 2025-10-01 14:13:51.041803 | controller | - ' done' 2025-10-01 14:13:51.041809 | controller | - ' ]' 2025-10-01 14:13:51.041814 | controller | - ' logger.go:42: 13:54:00 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.041820 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.041826 | controller | so we can''t rely on' 2025-10-01 14:13:51.041832 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.041838 | controller | and checks that' 2025-10-01 14:13:51.041843 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.041849 | controller | pattern' 2025-10-01 14:13:51.041855 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.041861 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.041867 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.041872 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.041878 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.041884 | controller | - ' exit 0' 2025-10-01 14:13:51.041890 | controller | - ' else' 2025-10-01 14:13:51.041896 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.041901 | controller | - ' exit 1' 2025-10-01 14:13:51.041907 | controller | - ' fi' 2025-10-01 14:13:51.041913 | controller | - ' ' 2025-10-01 14:13:51.041919 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.041925 | controller | them with a script' 2025-10-01 14:13:51.041931 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.041939 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.041947 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.041954 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.041965 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.041985 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.041991 | controller | - ' # it is an image' 2025-10-01 14:13:51.041996 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.042005 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.042011 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.042017 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.042023 | controller | - ' case $NAME in' 2025-10-01 14:13:51.042029 | controller | - ' API)' 2025-10-01 14:13:51.042035 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.042040 | controller | - ' ;;' 2025-10-01 14:13:51.042046 | controller | - ' esac' 2025-10-01 14:13:51.042052 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.042058 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.042063 | controller | - ' exit 1' 2025-10-01 14:13:51.042069 | controller | - ' fi' 2025-10-01 14:13:51.042075 | controller | - ' fi' 2025-10-01 14:13:51.042081 | controller | - ' done' 2025-10-01 14:13:51.042087 | controller | - ' ]' 2025-10-01 14:13:51.042093 | controller | - ' logger.go:42: 13:54:01 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.042098 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.042104 | controller | so we can''t rely on' 2025-10-01 14:13:51.042110 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.042116 | controller | and checks that' 2025-10-01 14:13:51.042122 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.042127 | controller | pattern' 2025-10-01 14:13:51.042133 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.042139 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.042145 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.042151 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.042157 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.042165 | controller | - ' exit 0' 2025-10-01 14:13:51.042171 | controller | - ' else' 2025-10-01 14:13:51.042177 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.042182 | controller | - ' exit 1' 2025-10-01 14:13:51.042188 | controller | - ' fi' 2025-10-01 14:13:51.042194 | controller | - ' ' 2025-10-01 14:13:51.042200 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.042206 | controller | them with a script' 2025-10-01 14:13:51.042211 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.042217 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.042223 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.042229 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.042235 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.042246 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.042252 | controller | - ' # it is an image' 2025-10-01 14:13:51.042258 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.042266 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.042272 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.042278 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.042283 | controller | - ' case $NAME in' 2025-10-01 14:13:51.042292 | controller | - ' API)' 2025-10-01 14:13:51.042298 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.042304 | controller | - ' ;;' 2025-10-01 14:13:51.042309 | controller | - ' esac' 2025-10-01 14:13:51.042315 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.042321 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.042327 | controller | - ' exit 1' 2025-10-01 14:13:51.042333 | controller | - ' fi' 2025-10-01 14:13:51.042338 | controller | - ' fi' 2025-10-01 14:13:51.042344 | controller | - ' done' 2025-10-01 14:13:51.042350 | controller | - ' ]' 2025-10-01 14:13:51.042356 | controller | - ' logger.go:42: 13:54:02 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.042362 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.042367 | controller | so we can''t rely on' 2025-10-01 14:13:51.042373 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.042379 | controller | and checks that' 2025-10-01 14:13:51.042385 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.042391 | controller | pattern' 2025-10-01 14:13:51.042399 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.042420 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.042426 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.042439 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.042445 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.042451 | controller | - ' exit 0' 2025-10-01 14:13:51.042457 | controller | - ' else' 2025-10-01 14:13:51.042463 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.042469 | controller | - ' exit 1' 2025-10-01 14:13:51.042475 | controller | - ' fi' 2025-10-01 14:13:51.042480 | controller | - ' ' 2025-10-01 14:13:51.042486 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.042492 | controller | them with a script' 2025-10-01 14:13:51.042501 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.042507 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.042513 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.042519 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.042525 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.042540 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.042548 | controller | - ' # it is an image' 2025-10-01 14:13:51.042556 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.042564 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.042570 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.042575 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.042581 | controller | - ' case $NAME in' 2025-10-01 14:13:51.042587 | controller | - ' API)' 2025-10-01 14:13:51.042593 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.042599 | controller | - ' ;;' 2025-10-01 14:13:51.042605 | controller | - ' esac' 2025-10-01 14:13:51.042611 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.042620 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.042626 | controller | - ' exit 1' 2025-10-01 14:13:51.042631 | controller | - ' fi' 2025-10-01 14:13:51.042637 | controller | - ' fi' 2025-10-01 14:13:51.042643 | controller | - ' done' 2025-10-01 14:13:51.042649 | controller | - ' ]' 2025-10-01 14:13:51.042654 | controller | - ' logger.go:42: 13:54:03 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.042660 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.042666 | controller | so we can''t rely on' 2025-10-01 14:13:51.042672 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.042678 | controller | and checks that' 2025-10-01 14:13:51.042686 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.042692 | controller | pattern' 2025-10-01 14:13:51.042698 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.042704 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.042710 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.042715 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.042721 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.042727 | controller | - ' exit 0' 2025-10-01 14:13:51.042733 | controller | - ' else' 2025-10-01 14:13:51.042739 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.042745 | controller | - ' exit 1' 2025-10-01 14:13:51.042750 | controller | - ' fi' 2025-10-01 14:13:51.042756 | controller | - ' ' 2025-10-01 14:13:51.042762 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.042768 | controller | them with a script' 2025-10-01 14:13:51.042774 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.042779 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.042785 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.042791 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.042797 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.042808 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.042814 | controller | - ' # it is an image' 2025-10-01 14:13:51.042820 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.042826 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.042832 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.042837 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.042843 | controller | - ' case $NAME in' 2025-10-01 14:13:51.042849 | controller | - ' API)' 2025-10-01 14:13:51.042855 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.042860 | controller | - ' ;;' 2025-10-01 14:13:51.042866 | controller | - ' esac' 2025-10-01 14:13:51.042872 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.042878 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.042883 | controller | - ' exit 1' 2025-10-01 14:13:51.042889 | controller | - ' fi' 2025-10-01 14:13:51.042895 | controller | - ' fi' 2025-10-01 14:13:51.042901 | controller | - ' done' 2025-10-01 14:13:51.042907 | controller | - ' ]' 2025-10-01 14:13:51.042920 | controller | - ' logger.go:42: 13:54:05 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.042929 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.042935 | controller | so we can''t rely on' 2025-10-01 14:13:51.042941 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.042947 | controller | and checks that' 2025-10-01 14:13:51.042953 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.042958 | controller | pattern' 2025-10-01 14:13:51.042964 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.042970 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.042976 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.042982 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.042987 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.042993 | controller | - ' exit 0' 2025-10-01 14:13:51.042999 | controller | - ' else' 2025-10-01 14:13:51.043005 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.043011 | controller | - ' exit 1' 2025-10-01 14:13:51.043016 | controller | - ' fi' 2025-10-01 14:13:51.043022 | controller | - ' ' 2025-10-01 14:13:51.043028 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.043034 | controller | them with a script' 2025-10-01 14:13:51.043040 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.043045 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.043051 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.043057 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.043063 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.043074 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.043080 | controller | - ' # it is an image' 2025-10-01 14:13:51.043086 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.043092 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.043098 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.043103 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.043109 | controller | - ' case $NAME in' 2025-10-01 14:13:51.043115 | controller | - ' API)' 2025-10-01 14:13:51.043121 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.043126 | controller | - ' ;;' 2025-10-01 14:13:51.043132 | controller | - ' esac' 2025-10-01 14:13:51.043138 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.043144 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.043150 | controller | - ' exit 1' 2025-10-01 14:13:51.043155 | controller | - ' fi' 2025-10-01 14:13:51.043161 | controller | - ' fi' 2025-10-01 14:13:51.043167 | controller | - ' done' 2025-10-01 14:13:51.043173 | controller | - ' ]' 2025-10-01 14:13:51.043179 | controller | - ' logger.go:42: 13:54:06 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.043184 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.043190 | controller | so we can''t rely on' 2025-10-01 14:13:51.043196 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.043202 | controller | and checks that' 2025-10-01 14:13:51.043211 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.043216 | controller | pattern' 2025-10-01 14:13:51.043222 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.043228 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.043234 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.043240 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.043245 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.043251 | controller | - ' exit 0' 2025-10-01 14:13:51.043257 | controller | - ' else' 2025-10-01 14:13:51.043263 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.043268 | controller | - ' exit 1' 2025-10-01 14:13:51.043274 | controller | - ' fi' 2025-10-01 14:13:51.043280 | controller | - ' ' 2025-10-01 14:13:51.043286 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.043291 | controller | them with a script' 2025-10-01 14:13:51.043297 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.043303 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.043309 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.043315 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.043320 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.043332 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.043338 | controller | - ' # it is an image' 2025-10-01 14:13:51.043344 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.043356 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.043362 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.043367 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.043373 | controller | - ' case $NAME in' 2025-10-01 14:13:51.043379 | controller | - ' API)' 2025-10-01 14:13:51.043385 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.043391 | controller | - ' ;;' 2025-10-01 14:13:51.043399 | controller | - ' esac' 2025-10-01 14:13:51.043419 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.043425 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.043431 | controller | - ' exit 1' 2025-10-01 14:13:51.043437 | controller | - ' fi' 2025-10-01 14:13:51.043442 | controller | - ' fi' 2025-10-01 14:13:51.043448 | controller | - ' done' 2025-10-01 14:13:51.043454 | controller | - ' ]' 2025-10-01 14:13:51.043460 | controller | - ' logger.go:42: 13:54:07 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.043466 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.043471 | controller | so we can''t rely on' 2025-10-01 14:13:51.043477 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.043483 | controller | and checks that' 2025-10-01 14:13:51.043489 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.043495 | controller | pattern' 2025-10-01 14:13:51.043500 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.043506 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.043515 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.043521 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.043527 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.043533 | controller | - ' exit 0' 2025-10-01 14:13:51.043539 | controller | - ' else' 2025-10-01 14:13:51.043544 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.043550 | controller | - ' exit 1' 2025-10-01 14:13:51.043556 | controller | - ' fi' 2025-10-01 14:13:51.043562 | controller | - ' ' 2025-10-01 14:13:51.043570 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.043576 | controller | them with a script' 2025-10-01 14:13:51.043582 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.043588 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.043594 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.043599 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.043605 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.043617 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.043623 | controller | - ' # it is an image' 2025-10-01 14:13:51.043629 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.043634 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.043640 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.043646 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.043652 | controller | - ' case $NAME in' 2025-10-01 14:13:51.043658 | controller | - ' API)' 2025-10-01 14:13:51.043663 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.043669 | controller | - ' ;;' 2025-10-01 14:13:51.043675 | controller | - ' esac' 2025-10-01 14:13:51.043681 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.043687 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.043692 | controller | - ' exit 1' 2025-10-01 14:13:51.043698 | controller | - ' fi' 2025-10-01 14:13:51.043704 | controller | - ' fi' 2025-10-01 14:13:51.043710 | controller | - ' done' 2025-10-01 14:13:51.043716 | controller | - ' ]' 2025-10-01 14:13:51.043721 | controller | - ' logger.go:42: 13:54:08 | change_keystone_config/0-deploy_keystone | running 2025-10-01 14:13:51.043727 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-10-01 14:13:51.043734 | controller | so we can''t rely on' 2025-10-01 14:13:51.043762 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.043768 | controller | and checks that' 2025-10-01 14:13:51.043774 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.043780 | controller | pattern' 2025-10-01 14:13:51.043785 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.043791 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.043800 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.043806 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.043811 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.043817 | controller | - ' exit 0' 2025-10-01 14:13:51.043826 | controller | - ' else' 2025-10-01 14:13:51.043832 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.043838 | controller | - ' exit 1' 2025-10-01 14:13:51.043853 | controller | - ' fi' 2025-10-01 14:13:51.043859 | controller | - ' ' 2025-10-01 14:13:51.043865 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.043871 | controller | them with a script' 2025-10-01 14:13:51.043877 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.043883 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.043889 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.043894 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.043900 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.043912 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.043918 | controller | - ' # it is an image' 2025-10-01 14:13:51.043924 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.043929 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.043935 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.043941 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.043947 | controller | - ' case $NAME in' 2025-10-01 14:13:51.043956 | controller | - ' API)' 2025-10-01 14:13:51.043961 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.043967 | controller | - ' ;;' 2025-10-01 14:13:51.043973 | controller | - ' esac' 2025-10-01 14:13:51.043979 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.043985 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.043991 | controller | - ' exit 1' 2025-10-01 14:13:51.043997 | controller | - ' fi' 2025-10-01 14:13:51.044002 | controller | - ' fi' 2025-10-01 14:13:51.044008 | controller | - ' done' 2025-10-01 14:13:51.044014 | controller | - ' ]' 2025-10-01 14:13:51.044020 | controller | - ' logger.go:42: 13:54:08 | change_keystone_config/0-deploy_keystone | test step 2025-10-01 14:13:51.044026 | controller | completed 0-deploy_keystone' 2025-10-01 14:13:51.044032 | controller | - ' logger.go:42: 13:54:08 | change_keystone_config/1- | starting test step 1-' 2025-10-01 14:13:51.044038 | controller | - ' logger.go:42: 13:54:08 | change_keystone_config/1- | running command: [sh -c 2025-10-01 14:13:51.044044 | controller | $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh]' 2025-10-01 14:13:51.044049 | controller | - ' logger.go:42: 13:54:09 | change_keystone_config/1- | test step completed 1-' 2025-10-01 14:13:51.044055 | controller | - ' logger.go:42: 13:54:09 | change_keystone_config/2-change_keystone_config | 2025-10-01 14:13:51.044061 | controller | starting test step 2-change_keystone_config' 2025-10-01 14:13:51.044067 | controller | - ' logger.go:42: 13:54:09 | change_keystone_config/2-change_keystone_config | 2025-10-01 14:13:51.044073 | controller | running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type=''json'' 2025-10-01 14:13:51.044079 | controller | -p=''[{"op": "replace", "path": "/spec/customServiceConfig", "value": "[DEFAULT]\ndebug 2025-10-01 14:13:51.044084 | controller | = false"}]''' 2025-10-01 14:13:51.044090 | controller | - ' ]' 2025-10-01 14:13:51.044096 | controller | - ' logger.go:42: 13:54:09 | change_keystone_config/2-change_keystone_config | 2025-10-01 14:13:51.044104 | controller | keystoneapi.keystone.openstack.org/keystone patched' 2025-10-01 14:13:51.044110 | controller | - ' logger.go:42: 13:54:09 | change_keystone_config/2-change_keystone_config | 2025-10-01 14:13:51.044116 | controller | running command: [sh -c $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh 2025-10-01 14:13:51.044125 | controller | --reverse]' 2025-10-01 14:13:51.044131 | controller | - ' logger.go:42: 13:54:10 | change_keystone_config/2-change_keystone_config | 2025-10-01 14:13:51.044136 | controller | running command: [sh -c $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh 2025-10-01 14:13:51.044142 | controller | --reverse]' 2025-10-01 14:13:51.044148 | controller | - ' logger.go:42: 13:54:10 | change_keystone_config/2-change_keystone_config | 2025-10-01 14:13:51.044154 | controller | error: arguments in resource/name form may not have more than one slash' 2025-10-01 14:13:51.044160 | controller | - ' logger.go:42: 13:54:10 | change_keystone_config/2-change_keystone_config | 2025-10-01 14:13:51.044166 | controller | test step completed 2-change_keystone_config' 2025-10-01 14:13:51.044171 | controller | - ' logger.go:42: 13:54:10 | change_keystone_config/3-cleanup-keystone | starting 2025-10-01 14:13:51.044177 | controller | test step 3-cleanup-keystone' 2025-10-01 14:13:51.044183 | controller | - ' logger.go:42: 13:54:15 | change_keystone_config/3-cleanup-keystone | test step 2025-10-01 14:13:51.044189 | controller | completed 3-cleanup-keystone' 2025-10-01 14:13:51.044195 | controller | - ' logger.go:42: 13:54:15 | change_keystone_config | skipping kubernetes event 2025-10-01 14:13:51.044200 | controller | logging' 2025-10-01 14:13:51.044206 | controller | - === CONT kuttl/harness/keystone_resources 2025-10-01 14:13:51.044212 | controller | - ' logger.go:42: 13:54:15 | keystone_resources | Skipping creation of user-supplied 2025-10-01 14:13:51.044218 | controller | namespace: keystone-kuttl-tests' 2025-10-01 14:13:51.044224 | controller | - ' logger.go:42: 13:54:15 | keystone_resources/0-deploy_keystone | starting test 2025-10-01 14:13:51.044229 | controller | step 0-deploy_keystone' 2025-10-01 14:13:51.044235 | controller | - ' logger.go:42: 13:54:15 | keystone_resources/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone 2025-10-01 14:13:51.044241 | controller | created' 2025-10-01 14:13:51.044251 | controller | - ' logger.go:42: 13:54:15 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.044263 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.044270 | controller | rely on' 2025-10-01 14:13:51.044275 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.044281 | controller | and checks that' 2025-10-01 14:13:51.044287 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.044293 | controller | pattern' 2025-10-01 14:13:51.044299 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.044305 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.044310 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.044316 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.044322 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.044330 | controller | - ' exit 0' 2025-10-01 14:13:51.044336 | controller | - ' else' 2025-10-01 14:13:51.044342 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.044348 | controller | - ' exit 1' 2025-10-01 14:13:51.044354 | controller | - ' fi' 2025-10-01 14:13:51.044359 | controller | - ' ' 2025-10-01 14:13:51.044365 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.044371 | controller | them with a script' 2025-10-01 14:13:51.044377 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.044382 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.044388 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.044394 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.044417 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.044430 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.044435 | controller | - ' # it is an image' 2025-10-01 14:13:51.044441 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.044447 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.044453 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.044459 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.044465 | controller | - ' case $NAME in' 2025-10-01 14:13:51.044470 | controller | - ' API)' 2025-10-01 14:13:51.044476 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.044482 | controller | - ' ;;' 2025-10-01 14:13:51.044488 | controller | - ' esac' 2025-10-01 14:13:51.044494 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.044499 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.044505 | controller | - ' exit 1' 2025-10-01 14:13:51.044511 | controller | - ' fi' 2025-10-01 14:13:51.044517 | controller | - ' fi' 2025-10-01 14:13:51.044523 | controller | - ' done' 2025-10-01 14:13:51.044529 | controller | - ' ]' 2025-10-01 14:13:51.044534 | controller | - ' logger.go:42: 13:54:15 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.044540 | controller | : do not match regex' 2025-10-01 14:13:51.044546 | controller | - ' logger.go:42: 13:54:16 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.044552 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.044558 | controller | rely on' 2025-10-01 14:13:51.044564 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.044570 | controller | and checks that' 2025-10-01 14:13:51.044576 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.044581 | controller | pattern' 2025-10-01 14:13:51.044587 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.044593 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.044599 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.044605 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.044611 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.044617 | controller | - ' exit 0' 2025-10-01 14:13:51.044623 | controller | - ' else' 2025-10-01 14:13:51.044628 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.044634 | controller | - ' exit 1' 2025-10-01 14:13:51.044640 | controller | - ' fi' 2025-10-01 14:13:51.044646 | controller | - ' ' 2025-10-01 14:13:51.044652 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.044658 | controller | them with a script' 2025-10-01 14:13:51.044664 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.044670 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.044675 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.044681 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.044687 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.044702 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.044707 | controller | - ' # it is an image' 2025-10-01 14:13:51.044721 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.044727 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.044733 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.044739 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.044745 | controller | - ' case $NAME in' 2025-10-01 14:13:51.044751 | controller | - ' API)' 2025-10-01 14:13:51.044757 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.044763 | controller | - ' ;;' 2025-10-01 14:13:51.044769 | controller | - ' esac' 2025-10-01 14:13:51.044774 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.044780 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.044786 | controller | - ' exit 1' 2025-10-01 14:13:51.044792 | controller | - ' fi' 2025-10-01 14:13:51.044798 | controller | - ' fi' 2025-10-01 14:13:51.044804 | controller | - ' done' 2025-10-01 14:13:51.044809 | controller | - ' ]' 2025-10-01 14:13:51.044815 | controller | - ' logger.go:42: 13:54:16 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.044821 | controller | : do not match regex' 2025-10-01 14:13:51.044827 | controller | - ' logger.go:42: 13:54:17 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.044833 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.044839 | controller | rely on' 2025-10-01 14:13:51.044845 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.044851 | controller | and checks that' 2025-10-01 14:13:51.044856 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.044862 | controller | pattern' 2025-10-01 14:13:51.044868 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.044874 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.044880 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.044886 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.044892 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.044897 | controller | - ' exit 0' 2025-10-01 14:13:51.044903 | controller | - ' else' 2025-10-01 14:13:51.044909 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.044915 | controller | - ' exit 1' 2025-10-01 14:13:51.044921 | controller | - ' fi' 2025-10-01 14:13:51.044927 | controller | - ' ' 2025-10-01 14:13:51.044933 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.044939 | controller | them with a script' 2025-10-01 14:13:51.044944 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.044950 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.044956 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.044962 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.044968 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.044980 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.044986 | controller | - ' # it is an image' 2025-10-01 14:13:51.044992 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.045000 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.045006 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.045012 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.045018 | controller | - ' case $NAME in' 2025-10-01 14:13:51.045024 | controller | - ' API)' 2025-10-01 14:13:51.045030 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.045035 | controller | - ' ;;' 2025-10-01 14:13:51.045041 | controller | - ' esac' 2025-10-01 14:13:51.045047 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.045053 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.045059 | controller | - ' exit 1' 2025-10-01 14:13:51.045065 | controller | - ' fi' 2025-10-01 14:13:51.045071 | controller | - ' fi' 2025-10-01 14:13:51.045080 | controller | - ' done' 2025-10-01 14:13:51.045085 | controller | - ' ]' 2025-10-01 14:13:51.045091 | controller | - ' logger.go:42: 13:54:17 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.045097 | controller | : do not match regex' 2025-10-01 14:13:51.045103 | controller | - ' logger.go:42: 13:54:18 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.045109 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.045115 | controller | rely on' 2025-10-01 14:13:51.045121 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.045127 | controller | and checks that' 2025-10-01 14:13:51.045133 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.045138 | controller | pattern' 2025-10-01 14:13:51.045144 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.045153 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.045168 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.045174 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.045180 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.045186 | controller | - ' exit 0' 2025-10-01 14:13:51.045192 | controller | - ' else' 2025-10-01 14:13:51.045198 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.045204 | controller | - ' exit 1' 2025-10-01 14:13:51.045210 | controller | - ' fi' 2025-10-01 14:13:51.045215 | controller | - ' ' 2025-10-01 14:13:51.045221 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.045227 | controller | them with a script' 2025-10-01 14:13:51.045233 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.045239 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.045245 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.045251 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.045257 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.045268 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.045274 | controller | - ' # it is an image' 2025-10-01 14:13:51.045280 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.045286 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.045292 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.045300 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.045306 | controller | - ' case $NAME in' 2025-10-01 14:13:51.045312 | controller | - ' API)' 2025-10-01 14:13:51.045318 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.045324 | controller | - ' ;;' 2025-10-01 14:13:51.045330 | controller | - ' esac' 2025-10-01 14:13:51.045336 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.045341 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.045347 | controller | - ' exit 1' 2025-10-01 14:13:51.045353 | controller | - ' fi' 2025-10-01 14:13:51.045359 | controller | - ' fi' 2025-10-01 14:13:51.045365 | controller | - ' done' 2025-10-01 14:13:51.045371 | controller | - ' ]' 2025-10-01 14:13:51.045376 | controller | - ' logger.go:42: 13:54:18 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.045382 | controller | : do not match regex' 2025-10-01 14:13:51.045388 | controller | - ' logger.go:42: 13:54:19 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.045394 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.045417 | controller | rely on' 2025-10-01 14:13:51.045426 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.045432 | controller | and checks that' 2025-10-01 14:13:51.045438 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.045444 | controller | pattern' 2025-10-01 14:13:51.045449 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.045455 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.045461 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.045467 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.045478 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.045484 | controller | - ' exit 0' 2025-10-01 14:13:51.045490 | controller | - ' else' 2025-10-01 14:13:51.045496 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.045502 | controller | - ' exit 1' 2025-10-01 14:13:51.045508 | controller | - ' fi' 2025-10-01 14:13:51.045514 | controller | - ' ' 2025-10-01 14:13:51.045519 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.045525 | controller | them with a script' 2025-10-01 14:13:51.045531 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.045537 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.045543 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.045549 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.045555 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.045567 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.045572 | controller | - ' # it is an image' 2025-10-01 14:13:51.045578 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.045584 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.045590 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.045596 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.045602 | controller | - ' case $NAME in' 2025-10-01 14:13:51.045611 | controller | - ' API)' 2025-10-01 14:13:51.045617 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.045623 | controller | - ' ;;' 2025-10-01 14:13:51.045629 | controller | - ' esac' 2025-10-01 14:13:51.045642 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.045648 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.045654 | controller | - ' exit 1' 2025-10-01 14:13:51.045660 | controller | - ' fi' 2025-10-01 14:13:51.045666 | controller | - ' fi' 2025-10-01 14:13:51.045672 | controller | - ' done' 2025-10-01 14:13:51.045678 | controller | - ' ]' 2025-10-01 14:13:51.045683 | controller | - ' logger.go:42: 13:54:20 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.045689 | controller | : do not match regex' 2025-10-01 14:13:51.045695 | controller | - ' logger.go:42: 13:54:21 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.045701 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.045707 | controller | rely on' 2025-10-01 14:13:51.045713 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.045719 | controller | and checks that' 2025-10-01 14:13:51.045725 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.045730 | controller | pattern' 2025-10-01 14:13:51.045736 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.045742 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.045748 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.045754 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.045760 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.045766 | controller | - ' exit 0' 2025-10-01 14:13:51.045772 | controller | - ' else' 2025-10-01 14:13:51.045778 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.045784 | controller | - ' exit 1' 2025-10-01 14:13:51.045789 | controller | - ' fi' 2025-10-01 14:13:51.045795 | controller | - ' ' 2025-10-01 14:13:51.045801 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.045807 | controller | them with a script' 2025-10-01 14:13:51.045813 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.045819 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.045825 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.045830 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.045836 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.045848 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.045854 | controller | - ' # it is an image' 2025-10-01 14:13:51.045859 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.045865 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.045871 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.045877 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.045882 | controller | - ' case $NAME in' 2025-10-01 14:13:51.045888 | controller | - ' API)' 2025-10-01 14:13:51.045894 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.045903 | controller | - ' ;;' 2025-10-01 14:13:51.045908 | controller | - ' esac' 2025-10-01 14:13:51.045914 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.045920 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.045926 | controller | - ' exit 1' 2025-10-01 14:13:51.045932 | controller | - ' fi' 2025-10-01 14:13:51.045938 | controller | - ' fi' 2025-10-01 14:13:51.045943 | controller | - ' done' 2025-10-01 14:13:51.045949 | controller | - ' ]' 2025-10-01 14:13:51.045955 | controller | - ' logger.go:42: 13:54:21 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.045961 | controller | : do not match regex' 2025-10-01 14:13:51.045967 | controller | - ' logger.go:42: 13:54:22 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.045972 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.045978 | controller | rely on' 2025-10-01 14:13:51.045984 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.045990 | controller | and checks that' 2025-10-01 14:13:51.045996 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.046001 | controller | pattern' 2025-10-01 14:13:51.046007 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.046013 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.046019 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.046025 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.046030 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.046036 | controller | - ' exit 0' 2025-10-01 14:13:51.046042 | controller | - ' else' 2025-10-01 14:13:51.046048 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.046053 | controller | - ' exit 1' 2025-10-01 14:13:51.046059 | controller | - ' fi' 2025-10-01 14:13:51.046065 | controller | - ' ' 2025-10-01 14:13:51.046071 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.046077 | controller | them with a script' 2025-10-01 14:13:51.046089 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.046095 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.046101 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.046107 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.046113 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.046125 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.046130 | controller | - ' # it is an image' 2025-10-01 14:13:51.046136 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.046142 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.046148 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.046153 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.046162 | controller | - ' case $NAME in' 2025-10-01 14:13:51.046168 | controller | - ' API)' 2025-10-01 14:13:51.046174 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.046179 | controller | - ' ;;' 2025-10-01 14:13:51.046185 | controller | - ' esac' 2025-10-01 14:13:51.046191 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.046199 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.046205 | controller | - ' exit 1' 2025-10-01 14:13:51.046211 | controller | - ' fi' 2025-10-01 14:13:51.046217 | controller | - ' fi' 2025-10-01 14:13:51.046223 | controller | - ' done' 2025-10-01 14:13:51.046229 | controller | - ' ]' 2025-10-01 14:13:51.046234 | controller | - ' logger.go:42: 13:54:22 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.046240 | controller | : do not match regex' 2025-10-01 14:13:51.046246 | controller | - ' logger.go:42: 13:54:23 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.046252 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.046258 | controller | rely on' 2025-10-01 14:13:51.046263 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.046269 | controller | and checks that' 2025-10-01 14:13:51.046278 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.046283 | controller | pattern' 2025-10-01 14:13:51.046289 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.046295 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.046301 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.046307 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.046313 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.046318 | controller | - ' exit 0' 2025-10-01 14:13:51.046324 | controller | - ' else' 2025-10-01 14:13:51.046330 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.046336 | controller | - ' exit 1' 2025-10-01 14:13:51.046342 | controller | - ' fi' 2025-10-01 14:13:51.046348 | controller | - ' ' 2025-10-01 14:13:51.046353 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.046359 | controller | them with a script' 2025-10-01 14:13:51.046365 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.046371 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.046377 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.046382 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.046391 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.046418 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.046424 | controller | - ' # it is an image' 2025-10-01 14:13:51.046430 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.046435 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.046441 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.046447 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.046453 | controller | - ' case $NAME in' 2025-10-01 14:13:51.046459 | controller | - ' API)' 2025-10-01 14:13:51.046464 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.046470 | controller | - ' ;;' 2025-10-01 14:13:51.046476 | controller | - ' esac' 2025-10-01 14:13:51.046482 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.046488 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.046493 | controller | - ' exit 1' 2025-10-01 14:13:51.046502 | controller | - ' fi' 2025-10-01 14:13:51.046511 | controller | - ' fi' 2025-10-01 14:13:51.046516 | controller | - ' done' 2025-10-01 14:13:51.046522 | controller | - ' ]' 2025-10-01 14:13:51.046528 | controller | - ' logger.go:42: 13:54:23 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.046534 | controller | : do not match regex' 2025-10-01 14:13:51.046540 | controller | - ' logger.go:42: 13:54:24 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.046546 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.046559 | controller | rely on' 2025-10-01 14:13:51.046565 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.046570 | controller | and checks that' 2025-10-01 14:13:51.046576 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.046582 | controller | pattern' 2025-10-01 14:13:51.046588 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.046594 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.046599 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.046605 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.046611 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.046617 | controller | - ' exit 0' 2025-10-01 14:13:51.046623 | controller | - ' else' 2025-10-01 14:13:51.046629 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.046634 | controller | - ' exit 1' 2025-10-01 14:13:51.046640 | controller | - ' fi' 2025-10-01 14:13:51.046646 | controller | - ' ' 2025-10-01 14:13:51.046652 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.046657 | controller | them with a script' 2025-10-01 14:13:51.046663 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.046669 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.046675 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.046681 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.046686 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.046698 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.046704 | controller | - ' # it is an image' 2025-10-01 14:13:51.046710 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.046715 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.046721 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.046727 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.046733 | controller | - ' case $NAME in' 2025-10-01 14:13:51.046738 | controller | - ' API)' 2025-10-01 14:13:51.046744 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.046750 | controller | - ' ;;' 2025-10-01 14:13:51.046756 | controller | - ' esac' 2025-10-01 14:13:51.046762 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.046768 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.046773 | controller | - ' exit 1' 2025-10-01 14:13:51.046779 | controller | - ' fi' 2025-10-01 14:13:51.046785 | controller | - ' fi' 2025-10-01 14:13:51.046791 | controller | - ' done' 2025-10-01 14:13:51.046797 | controller | - ' ]' 2025-10-01 14:13:51.046802 | controller | - ' logger.go:42: 13:54:24 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.046811 | controller | : do not match regex' 2025-10-01 14:13:51.046817 | controller | - ' logger.go:42: 13:54:25 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.046823 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.046828 | controller | rely on' 2025-10-01 14:13:51.046834 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.046840 | controller | and checks that' 2025-10-01 14:13:51.046846 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.046852 | controller | pattern' 2025-10-01 14:13:51.046857 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.046863 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.046869 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.046875 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.046881 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.046889 | controller | - ' exit 0' 2025-10-01 14:13:51.046895 | controller | - ' else' 2025-10-01 14:13:51.046901 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.046907 | controller | - ' exit 1' 2025-10-01 14:13:51.046913 | controller | - ' fi' 2025-10-01 14:13:51.046919 | controller | - ' ' 2025-10-01 14:13:51.046925 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.046930 | controller | them with a script' 2025-10-01 14:13:51.046936 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.046942 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.046948 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.046954 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.046960 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.046972 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.046977 | controller | - ' # it is an image' 2025-10-01 14:13:51.046983 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.046995 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.047001 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.047007 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.047013 | controller | - ' case $NAME in' 2025-10-01 14:13:51.047019 | controller | - ' API)' 2025-10-01 14:13:51.047025 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.047031 | controller | - ' ;;' 2025-10-01 14:13:51.047036 | controller | - ' esac' 2025-10-01 14:13:51.047042 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.047048 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.047054 | controller | - ' exit 1' 2025-10-01 14:13:51.047060 | controller | - ' fi' 2025-10-01 14:13:51.047065 | controller | - ' fi' 2025-10-01 14:13:51.047071 | controller | - ' done' 2025-10-01 14:13:51.047077 | controller | - ' ]' 2025-10-01 14:13:51.047083 | controller | - ' logger.go:42: 13:54:25 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.047089 | controller | : do not match regex' 2025-10-01 14:13:51.047095 | controller | - ' logger.go:42: 13:54:26 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.047103 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.047109 | controller | rely on' 2025-10-01 14:13:51.047115 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.047120 | controller | and checks that' 2025-10-01 14:13:51.047129 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.047135 | controller | pattern' 2025-10-01 14:13:51.047140 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.047148 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.047154 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.047160 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.047166 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.047171 | controller | - ' exit 0' 2025-10-01 14:13:51.047177 | controller | - ' else' 2025-10-01 14:13:51.047183 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.047189 | controller | - ' exit 1' 2025-10-01 14:13:51.047195 | controller | - ' fi' 2025-10-01 14:13:51.047200 | controller | - ' ' 2025-10-01 14:13:51.047206 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.047212 | controller | them with a script' 2025-10-01 14:13:51.047218 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.047224 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.047229 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.047235 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.047241 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.047253 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.047258 | controller | - ' # it is an image' 2025-10-01 14:13:51.047264 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.047270 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.047276 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.047281 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.047287 | controller | - ' case $NAME in' 2025-10-01 14:13:51.047293 | controller | - ' API)' 2025-10-01 14:13:51.047299 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.047304 | controller | - ' ;;' 2025-10-01 14:13:51.047310 | controller | - ' esac' 2025-10-01 14:13:51.047316 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.047322 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.047328 | controller | - ' exit 1' 2025-10-01 14:13:51.047333 | controller | - ' fi' 2025-10-01 14:13:51.047339 | controller | - ' fi' 2025-10-01 14:13:51.047345 | controller | - ' done' 2025-10-01 14:13:51.047351 | controller | - ' ]' 2025-10-01 14:13:51.047356 | controller | - ' logger.go:42: 13:54:27 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.047362 | controller | : do not match regex' 2025-10-01 14:13:51.047368 | controller | - ' logger.go:42: 13:54:28 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.047374 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.047380 | controller | rely on' 2025-10-01 14:13:51.047388 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.047394 | controller | and checks that' 2025-10-01 14:13:51.047413 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.047421 | controller | pattern' 2025-10-01 14:13:51.047427 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.047433 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.047438 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.047451 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.047457 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.047463 | controller | - ' exit 0' 2025-10-01 14:13:51.047468 | controller | - ' else' 2025-10-01 14:13:51.047474 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.047480 | controller | - ' exit 1' 2025-10-01 14:13:51.047492 | controller | - ' fi' 2025-10-01 14:13:51.047497 | controller | - ' ' 2025-10-01 14:13:51.047503 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.047509 | controller | them with a script' 2025-10-01 14:13:51.047515 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.047521 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.047527 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.047532 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.047538 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.047550 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.047556 | controller | - ' # it is an image' 2025-10-01 14:13:51.047562 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.047567 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.047573 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.047579 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.047585 | controller | - ' case $NAME in' 2025-10-01 14:13:51.047591 | controller | - ' API)' 2025-10-01 14:13:51.047596 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.047602 | controller | - ' ;;' 2025-10-01 14:13:51.047608 | controller | - ' esac' 2025-10-01 14:13:51.047614 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.047620 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.047625 | controller | - ' exit 1' 2025-10-01 14:13:51.047631 | controller | - ' fi' 2025-10-01 14:13:51.047637 | controller | - ' fi' 2025-10-01 14:13:51.047643 | controller | - ' done' 2025-10-01 14:13:51.047649 | controller | - ' ]' 2025-10-01 14:13:51.047654 | controller | - ' logger.go:42: 13:54:28 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.047660 | controller | : do not match regex' 2025-10-01 14:13:51.047666 | controller | - ' logger.go:42: 13:54:29 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.047672 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.047678 | controller | rely on' 2025-10-01 14:13:51.047684 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.047689 | controller | and checks that' 2025-10-01 14:13:51.047695 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.047704 | controller | pattern' 2025-10-01 14:13:51.047710 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.047715 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.047721 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.047727 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.047733 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.047739 | controller | - ' exit 0' 2025-10-01 14:13:51.047762 | controller | - ' else' 2025-10-01 14:13:51.047770 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.047776 | controller | - ' exit 1' 2025-10-01 14:13:51.047782 | controller | - ' fi' 2025-10-01 14:13:51.047788 | controller | - ' ' 2025-10-01 14:13:51.047794 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.047802 | controller | them with a script' 2025-10-01 14:13:51.047809 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.047816 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.047925 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.047932 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.047938 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.047949 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.047955 | controller | - ' # it is an image' 2025-10-01 14:13:51.047961 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.047967 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.047973 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.047978 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.047984 | controller | - ' case $NAME in' 2025-10-01 14:13:51.047990 | controller | - ' API)' 2025-10-01 14:13:51.047996 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.048002 | controller | - ' ;;' 2025-10-01 14:13:51.048008 | controller | - ' esac' 2025-10-01 14:13:51.048013 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.048029 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.048035 | controller | - ' exit 1' 2025-10-01 14:13:51.048041 | controller | - ' fi' 2025-10-01 14:13:51.048046 | controller | - ' fi' 2025-10-01 14:13:51.048052 | controller | - ' done' 2025-10-01 14:13:51.048058 | controller | - ' ]' 2025-10-01 14:13:51.048064 | controller | - ' logger.go:42: 13:54:29 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.048070 | controller | : do not match regex' 2025-10-01 14:13:51.048075 | controller | - ' logger.go:42: 13:54:30 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.048081 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.048087 | controller | rely on' 2025-10-01 14:13:51.048093 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.048099 | controller | and checks that' 2025-10-01 14:13:51.048104 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.048110 | controller | pattern' 2025-10-01 14:13:51.048116 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.048143 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.048150 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.048155 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.048161 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.048167 | controller | - ' exit 0' 2025-10-01 14:13:51.048173 | controller | - ' else' 2025-10-01 14:13:51.048179 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.048184 | controller | - ' exit 1' 2025-10-01 14:13:51.048190 | controller | - ' fi' 2025-10-01 14:13:51.048196 | controller | - ' ' 2025-10-01 14:13:51.048202 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.048207 | controller | them with a script' 2025-10-01 14:13:51.048213 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.048219 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.048225 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.048230 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.048236 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.048248 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.048257 | controller | - ' # it is an image' 2025-10-01 14:13:51.048263 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.048269 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.048275 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.048280 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.048286 | controller | - ' case $NAME in' 2025-10-01 14:13:51.048292 | controller | - ' API)' 2025-10-01 14:13:51.048298 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.048304 | controller | - ' ;;' 2025-10-01 14:13:51.048309 | controller | - ' esac' 2025-10-01 14:13:51.048315 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.048321 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.048327 | controller | - ' exit 1' 2025-10-01 14:13:51.048333 | controller | - ' fi' 2025-10-01 14:13:51.048339 | controller | - ' fi' 2025-10-01 14:13:51.048344 | controller | - ' done' 2025-10-01 14:13:51.048350 | controller | - ' ]' 2025-10-01 14:13:51.048356 | controller | - ' logger.go:42: 13:54:30 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.048362 | controller | : do not match regex' 2025-10-01 14:13:51.048368 | controller | - ' logger.go:42: 13:54:31 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.048373 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.048379 | controller | rely on' 2025-10-01 14:13:51.048385 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.048391 | controller | and checks that' 2025-10-01 14:13:51.048397 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.048424 | controller | pattern' 2025-10-01 14:13:51.048430 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.048436 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.048442 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.048451 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.048457 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.048463 | controller | - ' exit 0' 2025-10-01 14:13:51.048468 | controller | - ' else' 2025-10-01 14:13:51.048474 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.048480 | controller | - ' exit 1' 2025-10-01 14:13:51.048486 | controller | - ' fi' 2025-10-01 14:13:51.048492 | controller | - ' ' 2025-10-01 14:13:51.048498 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.048503 | controller | them with a script' 2025-10-01 14:13:51.048509 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.048522 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.048528 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.048534 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.048540 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.048552 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.048557 | controller | - ' # it is an image' 2025-10-01 14:13:51.048563 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.048569 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.048578 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.048584 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.048589 | controller | - ' case $NAME in' 2025-10-01 14:13:51.048595 | controller | - ' API)' 2025-10-01 14:13:51.048601 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.048607 | controller | - ' ;;' 2025-10-01 14:13:51.048613 | controller | - ' esac' 2025-10-01 14:13:51.048619 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.048624 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.048630 | controller | - ' exit 1' 2025-10-01 14:13:51.048636 | controller | - ' fi' 2025-10-01 14:13:51.048642 | controller | - ' fi' 2025-10-01 14:13:51.048648 | controller | - ' done' 2025-10-01 14:13:51.048653 | controller | - ' ]' 2025-10-01 14:13:51.048659 | controller | - ' logger.go:42: 13:54:31 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.048665 | controller | : do not match regex' 2025-10-01 14:13:51.048671 | controller | - ' logger.go:42: 13:54:32 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.048676 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.048682 | controller | rely on' 2025-10-01 14:13:51.048688 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.048694 | controller | and checks that' 2025-10-01 14:13:51.048700 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.048705 | controller | pattern' 2025-10-01 14:13:51.048711 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.048717 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.048723 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.048729 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.048734 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.048743 | controller | - ' exit 0' 2025-10-01 14:13:51.048749 | controller | - ' else' 2025-10-01 14:13:51.048755 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.048761 | controller | - ' exit 1' 2025-10-01 14:13:51.048767 | controller | - ' fi' 2025-10-01 14:13:51.048772 | controller | - ' ' 2025-10-01 14:13:51.048778 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.048784 | controller | them with a script' 2025-10-01 14:13:51.048792 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.048798 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.048804 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.048810 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.048816 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.048827 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.048833 | controller | - ' # it is an image' 2025-10-01 14:13:51.048839 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.048847 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.048853 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.048859 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.048865 | controller | - ' case $NAME in' 2025-10-01 14:13:51.048871 | controller | - ' API)' 2025-10-01 14:13:51.048876 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.048882 | controller | - ' ;;' 2025-10-01 14:13:51.048888 | controller | - ' esac' 2025-10-01 14:13:51.048894 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.048900 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.048906 | controller | - ' exit 1' 2025-10-01 14:13:51.048911 | controller | - ' fi' 2025-10-01 14:13:51.048917 | controller | - ' fi' 2025-10-01 14:13:51.048923 | controller | - ' done' 2025-10-01 14:13:51.048929 | controller | - ' ]' 2025-10-01 14:13:51.048934 | controller | - ' logger.go:42: 13:54:33 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.048940 | controller | : do not match regex' 2025-10-01 14:13:51.048946 | controller | - ' logger.go:42: 13:54:34 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.048952 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.048958 | controller | rely on' 2025-10-01 14:13:51.048970 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.048976 | controller | and checks that' 2025-10-01 14:13:51.048982 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.048987 | controller | pattern' 2025-10-01 14:13:51.048993 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.048999 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.049005 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.049011 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.049017 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.049022 | controller | - ' exit 0' 2025-10-01 14:13:51.049028 | controller | - ' else' 2025-10-01 14:13:51.049034 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.049042 | controller | - ' exit 1' 2025-10-01 14:13:51.049048 | controller | - ' fi' 2025-10-01 14:13:51.049054 | controller | - ' ' 2025-10-01 14:13:51.049061 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.049068 | controller | them with a script' 2025-10-01 14:13:51.049086 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.049096 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.049104 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.049111 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.049118 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.049138 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.049146 | controller | - ' # it is an image' 2025-10-01 14:13:51.049152 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.049157 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.049163 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.049169 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.049175 | controller | - ' case $NAME in' 2025-10-01 14:13:51.049181 | controller | - ' API)' 2025-10-01 14:13:51.049187 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.049195 | controller | - ' ;;' 2025-10-01 14:13:51.049202 | controller | - ' esac' 2025-10-01 14:13:51.049210 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.049218 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.049226 | controller | - ' exit 1' 2025-10-01 14:13:51.049233 | controller | - ' fi' 2025-10-01 14:13:51.049240 | controller | - ' fi' 2025-10-01 14:13:51.049245 | controller | - ' done' 2025-10-01 14:13:51.049251 | controller | - ' ]' 2025-10-01 14:13:51.049257 | controller | - ' logger.go:42: 13:54:34 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.049263 | controller | : do not match regex' 2025-10-01 14:13:51.049269 | controller | - ' logger.go:42: 13:54:35 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.049275 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.049281 | controller | rely on' 2025-10-01 14:13:51.049293 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.049301 | controller | and checks that' 2025-10-01 14:13:51.049309 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.049316 | controller | pattern' 2025-10-01 14:13:51.049324 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.049331 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.049338 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.049344 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.049350 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.049355 | controller | - ' exit 0' 2025-10-01 14:13:51.049361 | controller | - ' else' 2025-10-01 14:13:51.049367 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.049375 | controller | - ' exit 1' 2025-10-01 14:13:51.049383 | controller | - ' fi' 2025-10-01 14:13:51.049390 | controller | - ' ' 2025-10-01 14:13:51.049416 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.049433 | controller | them with a script' 2025-10-01 14:13:51.049440 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.049447 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.049453 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.049460 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.049468 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.049484 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.049491 | controller | - ' # it is an image' 2025-10-01 14:13:51.049499 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.049518 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.049526 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.049534 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.049542 | controller | - ' case $NAME in' 2025-10-01 14:13:51.049549 | controller | - ' API)' 2025-10-01 14:13:51.049557 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.049564 | controller | - ' ;;' 2025-10-01 14:13:51.049572 | controller | - ' esac' 2025-10-01 14:13:51.049580 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.049587 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.049594 | controller | - ' exit 1' 2025-10-01 14:13:51.049601 | controller | - ' fi' 2025-10-01 14:13:51.049608 | controller | - ' fi' 2025-10-01 14:13:51.049616 | controller | - ' done' 2025-10-01 14:13:51.049623 | controller | - ' ]' 2025-10-01 14:13:51.049631 | controller | - ' logger.go:42: 13:54:35 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.049638 | controller | : do not match regex' 2025-10-01 14:13:51.049646 | controller | - ' logger.go:42: 13:54:36 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.049653 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.049661 | controller | rely on' 2025-10-01 14:13:51.049668 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.049676 | controller | and checks that' 2025-10-01 14:13:51.049683 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.049691 | controller | pattern' 2025-10-01 14:13:51.049698 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.049705 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.049713 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.049720 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.049727 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.049735 | controller | - ' exit 0' 2025-10-01 14:13:51.049742 | controller | - ' else' 2025-10-01 14:13:51.049749 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.049754 | controller | - ' exit 1' 2025-10-01 14:13:51.049760 | controller | - ' fi' 2025-10-01 14:13:51.049766 | controller | - ' ' 2025-10-01 14:13:51.049772 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.049778 | controller | them with a script' 2025-10-01 14:13:51.049783 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.049793 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.049799 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.049805 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.049810 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.049822 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.049828 | controller | - ' # it is an image' 2025-10-01 14:13:51.049834 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.049839 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.049845 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.049851 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.049857 | controller | - ' case $NAME in' 2025-10-01 14:13:51.049862 | controller | - ' API)' 2025-10-01 14:13:51.049868 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.049874 | controller | - ' ;;' 2025-10-01 14:13:51.049880 | controller | - ' esac' 2025-10-01 14:13:51.049886 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.049892 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.049898 | controller | - ' exit 1' 2025-10-01 14:13:51.049903 | controller | - ' fi' 2025-10-01 14:13:51.049909 | controller | - ' fi' 2025-10-01 14:13:51.049915 | controller | - ' done' 2025-10-01 14:13:51.049921 | controller | - ' ]' 2025-10-01 14:13:51.049926 | controller | - ' logger.go:42: 13:54:37 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.049932 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.049938 | controller | rely on' 2025-10-01 14:13:51.049944 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.049950 | controller | and checks that' 2025-10-01 14:13:51.049955 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.049961 | controller | pattern' 2025-10-01 14:13:51.049967 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.049973 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.049978 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.049984 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.049990 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.050000 | controller | - ' exit 0' 2025-10-01 14:13:51.050005 | controller | - ' else' 2025-10-01 14:13:51.050020 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.050026 | controller | - ' exit 1' 2025-10-01 14:13:51.050032 | controller | - ' fi' 2025-10-01 14:13:51.050038 | controller | - ' ' 2025-10-01 14:13:51.050044 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.050050 | controller | them with a script' 2025-10-01 14:13:51.050056 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.050062 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.050067 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.050073 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.050079 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.050097 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.050103 | controller | - ' # it is an image' 2025-10-01 14:13:51.050108 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.050114 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.050120 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.050126 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.050132 | controller | - ' case $NAME in' 2025-10-01 14:13:51.050137 | controller | - ' API)' 2025-10-01 14:13:51.050143 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.050149 | controller | - ' ;;' 2025-10-01 14:13:51.050155 | controller | - ' esac' 2025-10-01 14:13:51.050163 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.050169 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.050175 | controller | - ' exit 1' 2025-10-01 14:13:51.050181 | controller | - ' fi' 2025-10-01 14:13:51.050187 | controller | - ' fi' 2025-10-01 14:13:51.050192 | controller | - ' done' 2025-10-01 14:13:51.050198 | controller | - ' ]' 2025-10-01 14:13:51.050204 | controller | - ' logger.go:42: 13:54:38 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.050210 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.050215 | controller | rely on' 2025-10-01 14:13:51.050221 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.050227 | controller | and checks that' 2025-10-01 14:13:51.050233 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.050239 | controller | pattern' 2025-10-01 14:13:51.050244 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.050250 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.050256 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.050262 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.050268 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.050273 | controller | - ' exit 0' 2025-10-01 14:13:51.050279 | controller | - ' else' 2025-10-01 14:13:51.050285 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.050291 | controller | - ' exit 1' 2025-10-01 14:13:51.050296 | controller | - ' fi' 2025-10-01 14:13:51.050302 | controller | - ' ' 2025-10-01 14:13:51.050308 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.050314 | controller | them with a script' 2025-10-01 14:13:51.050320 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.050325 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.050331 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.050337 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.050343 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.050354 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.050360 | controller | - ' # it is an image' 2025-10-01 14:13:51.050366 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.050372 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.050380 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.050386 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.050394 | controller | - ' case $NAME in' 2025-10-01 14:13:51.050416 | controller | - ' API)' 2025-10-01 14:13:51.050425 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.050431 | controller | - ' ;;' 2025-10-01 14:13:51.050437 | controller | - ' esac' 2025-10-01 14:13:51.050442 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.050448 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.050454 | controller | - ' exit 1' 2025-10-01 14:13:51.050460 | controller | - ' fi' 2025-10-01 14:13:51.050466 | controller | - ' fi' 2025-10-01 14:13:51.050471 | controller | - ' done' 2025-10-01 14:13:51.050477 | controller | - ' ]' 2025-10-01 14:13:51.050483 | controller | - ' logger.go:42: 13:54:40 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.050489 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.050495 | controller | rely on' 2025-10-01 14:13:51.050508 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.050514 | controller | and checks that' 2025-10-01 14:13:51.050520 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.050525 | controller | pattern' 2025-10-01 14:13:51.050531 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.050537 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.050546 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.050552 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.050558 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.050563 | controller | - ' exit 0' 2025-10-01 14:13:51.050569 | controller | - ' else' 2025-10-01 14:13:51.050575 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.050581 | controller | - ' exit 1' 2025-10-01 14:13:51.050586 | controller | - ' fi' 2025-10-01 14:13:51.050592 | controller | - ' ' 2025-10-01 14:13:51.050598 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.050604 | controller | them with a script' 2025-10-01 14:13:51.050610 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.050616 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.050621 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.050627 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.050633 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.050645 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.050650 | controller | - ' # it is an image' 2025-10-01 14:13:51.050656 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.050662 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.050668 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.050674 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.050679 | controller | - ' case $NAME in' 2025-10-01 14:13:51.050685 | controller | - ' API)' 2025-10-01 14:13:51.050694 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.050700 | controller | - ' ;;' 2025-10-01 14:13:51.050706 | controller | - ' esac' 2025-10-01 14:13:51.050714 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.050720 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.050726 | controller | - ' exit 1' 2025-10-01 14:13:51.050731 | controller | - ' fi' 2025-10-01 14:13:51.050737 | controller | - ' fi' 2025-10-01 14:13:51.050743 | controller | - ' done' 2025-10-01 14:13:51.050749 | controller | - ' ]' 2025-10-01 14:13:51.050755 | controller | - ' logger.go:42: 13:54:41 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.050760 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.050766 | controller | rely on' 2025-10-01 14:13:51.050772 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.050778 | controller | and checks that' 2025-10-01 14:13:51.050784 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.050789 | controller | pattern' 2025-10-01 14:13:51.050795 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.050801 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.050807 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.050813 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.050818 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.050824 | controller | - ' exit 0' 2025-10-01 14:13:51.050830 | controller | - ' else' 2025-10-01 14:13:51.050836 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.050841 | controller | - ' exit 1' 2025-10-01 14:13:51.050847 | controller | - ' fi' 2025-10-01 14:13:51.050853 | controller | - ' ' 2025-10-01 14:13:51.050859 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.050865 | controller | them with a script' 2025-10-01 14:13:51.050871 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.050876 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.050882 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.050888 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.050894 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.050905 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.050911 | controller | - ' # it is an image' 2025-10-01 14:13:51.050917 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.050923 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.050929 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.050941 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.050947 | controller | - ' case $NAME in' 2025-10-01 14:13:51.050953 | controller | - ' API)' 2025-10-01 14:13:51.050959 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.050965 | controller | - ' ;;' 2025-10-01 14:13:51.050971 | controller | - ' esac' 2025-10-01 14:13:51.050977 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.050982 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.050991 | controller | - ' exit 1' 2025-10-01 14:13:51.050997 | controller | - ' fi' 2025-10-01 14:13:51.051003 | controller | - ' fi' 2025-10-01 14:13:51.051008 | controller | - ' done' 2025-10-01 14:13:51.051014 | controller | - ' ]' 2025-10-01 14:13:51.051020 | controller | - ' logger.go:42: 13:54:42 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.051026 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.051032 | controller | rely on' 2025-10-01 14:13:51.051038 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.051043 | controller | and checks that' 2025-10-01 14:13:51.051049 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.051055 | controller | pattern' 2025-10-01 14:13:51.051061 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.051067 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.051072 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.051078 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.051084 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.051090 | controller | - ' exit 0' 2025-10-01 14:13:51.051096 | controller | - ' else' 2025-10-01 14:13:51.051101 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.051107 | controller | - ' exit 1' 2025-10-01 14:13:51.051113 | controller | - ' fi' 2025-10-01 14:13:51.051119 | controller | - ' ' 2025-10-01 14:13:51.051125 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.051130 | controller | them with a script' 2025-10-01 14:13:51.051136 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.051142 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.051148 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.051154 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.051159 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.051171 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.051177 | controller | - ' # it is an image' 2025-10-01 14:13:51.051183 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.051188 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.051194 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.051200 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.051206 | controller | - ' case $NAME in' 2025-10-01 14:13:51.051212 | controller | - ' API)' 2025-10-01 14:13:51.051217 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.051223 | controller | - ' ;;' 2025-10-01 14:13:51.051229 | controller | - ' esac' 2025-10-01 14:13:51.051235 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.051241 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.051246 | controller | - ' exit 1' 2025-10-01 14:13:51.051252 | controller | - ' fi' 2025-10-01 14:13:51.051258 | controller | - ' fi' 2025-10-01 14:13:51.051266 | controller | - ' done' 2025-10-01 14:13:51.051272 | controller | - ' ]' 2025-10-01 14:13:51.051281 | controller | - ' logger.go:42: 13:54:43 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.051289 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.051295 | controller | rely on' 2025-10-01 14:13:51.051301 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.051306 | controller | and checks that' 2025-10-01 14:13:51.051312 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.051318 | controller | pattern' 2025-10-01 14:13:51.051324 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.051330 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.051336 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.051341 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.051347 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.051353 | controller | - ' exit 0' 2025-10-01 14:13:51.051359 | controller | - ' else' 2025-10-01 14:13:51.051365 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.051370 | controller | - ' exit 1' 2025-10-01 14:13:51.051376 | controller | - ' fi' 2025-10-01 14:13:51.051382 | controller | - ' ' 2025-10-01 14:13:51.051388 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.051394 | controller | them with a script' 2025-10-01 14:13:51.051419 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.051428 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.051434 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.051440 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.051446 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.051458 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.051467 | controller | - ' # it is an image' 2025-10-01 14:13:51.051472 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.051478 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.051484 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.051490 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.051496 | controller | - ' case $NAME in' 2025-10-01 14:13:51.051501 | controller | - ' API)' 2025-10-01 14:13:51.051507 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.051513 | controller | - ' ;;' 2025-10-01 14:13:51.051519 | controller | - ' esac' 2025-10-01 14:13:51.051525 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.051530 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.051536 | controller | - ' exit 1' 2025-10-01 14:13:51.051542 | controller | - ' fi' 2025-10-01 14:13:51.051548 | controller | - ' fi' 2025-10-01 14:13:51.051554 | controller | - ' done' 2025-10-01 14:13:51.051559 | controller | - ' ]' 2025-10-01 14:13:51.051565 | controller | - ' logger.go:42: 13:54:45 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.051571 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.051577 | controller | rely on' 2025-10-01 14:13:51.051583 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.051588 | controller | and checks that' 2025-10-01 14:13:51.051594 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.051603 | controller | pattern' 2025-10-01 14:13:51.051609 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.051615 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.051621 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.051626 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.051632 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.051638 | controller | - ' exit 0' 2025-10-01 14:13:51.051644 | controller | - ' else' 2025-10-01 14:13:51.051650 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.051655 | controller | - ' exit 1' 2025-10-01 14:13:51.051661 | controller | - ' fi' 2025-10-01 14:13:51.051667 | controller | - ' ' 2025-10-01 14:13:51.051673 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.051679 | controller | them with a script' 2025-10-01 14:13:51.051684 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.051690 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.051696 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.051702 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.051708 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.051719 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.051725 | controller | - ' # it is an image' 2025-10-01 14:13:51.051731 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.051736 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.051742 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.051748 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.051769 | controller | - ' case $NAME in' 2025-10-01 14:13:51.051776 | controller | - ' API)' 2025-10-01 14:13:51.051786 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.051793 | controller | - ' ;;' 2025-10-01 14:13:51.051800 | controller | - ' esac' 2025-10-01 14:13:51.051859 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.051869 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.051875 | controller | - ' exit 1' 2025-10-01 14:13:51.051881 | controller | - ' fi' 2025-10-01 14:13:51.051887 | controller | - ' fi' 2025-10-01 14:13:51.051893 | controller | - ' done' 2025-10-01 14:13:51.051898 | controller | - ' ]' 2025-10-01 14:13:51.051904 | controller | - ' logger.go:42: 13:54:46 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.051910 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.051916 | controller | rely on' 2025-10-01 14:13:51.051922 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.051927 | controller | and checks that' 2025-10-01 14:13:51.051933 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.051939 | controller | pattern' 2025-10-01 14:13:51.051954 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.051961 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.051966 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.051977 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.051983 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.051988 | controller | - ' exit 0' 2025-10-01 14:13:51.051994 | controller | - ' else' 2025-10-01 14:13:51.052000 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.052006 | controller | - ' exit 1' 2025-10-01 14:13:51.052012 | controller | - ' fi' 2025-10-01 14:13:51.052017 | controller | - ' ' 2025-10-01 14:13:51.052023 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.052029 | controller | them with a script' 2025-10-01 14:13:51.052035 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.052041 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.052047 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.052052 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.052058 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.052076 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.052082 | controller | - ' # it is an image' 2025-10-01 14:13:51.052088 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.052096 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.052102 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.052109 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.052116 | controller | - ' case $NAME in' 2025-10-01 14:13:51.052122 | controller | - ' API)' 2025-10-01 14:13:51.052127 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.052133 | controller | - ' ;;' 2025-10-01 14:13:51.052139 | controller | - ' esac' 2025-10-01 14:13:51.052145 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.052153 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.052159 | controller | - ' exit 1' 2025-10-01 14:13:51.052165 | controller | - ' fi' 2025-10-01 14:13:51.052170 | controller | - ' fi' 2025-10-01 14:13:51.052176 | controller | - ' done' 2025-10-01 14:13:51.052182 | controller | - ' ]' 2025-10-01 14:13:51.052188 | controller | - ' logger.go:42: 13:54:47 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.052193 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.052199 | controller | rely on' 2025-10-01 14:13:51.052205 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.052211 | controller | and checks that' 2025-10-01 14:13:51.052217 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.052223 | controller | pattern' 2025-10-01 14:13:51.052228 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.052234 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.052240 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.052246 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.052251 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.052257 | controller | - ' exit 0' 2025-10-01 14:13:51.052263 | controller | - ' else' 2025-10-01 14:13:51.052269 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.052277 | controller | - ' exit 1' 2025-10-01 14:13:51.052283 | controller | - ' fi' 2025-10-01 14:13:51.052289 | controller | - ' ' 2025-10-01 14:13:51.052294 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.052300 | controller | them with a script' 2025-10-01 14:13:51.052306 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.052312 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.052318 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.052323 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.052329 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.052341 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.052347 | controller | - ' # it is an image' 2025-10-01 14:13:51.052352 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.052358 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.052364 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.052370 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.052375 | controller | - ' case $NAME in' 2025-10-01 14:13:51.052381 | controller | - ' API)' 2025-10-01 14:13:51.052387 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.052412 | controller | - ' ;;' 2025-10-01 14:13:51.052423 | controller | - ' esac' 2025-10-01 14:13:51.052429 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.052435 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.052440 | controller | - ' exit 1' 2025-10-01 14:13:51.052446 | controller | - ' fi' 2025-10-01 14:13:51.052452 | controller | - ' fi' 2025-10-01 14:13:51.052458 | controller | - ' done' 2025-10-01 14:13:51.052464 | controller | - ' ]' 2025-10-01 14:13:51.052470 | controller | - ' logger.go:42: 13:54:48 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.052475 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.052481 | controller | rely on' 2025-10-01 14:13:51.052487 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.052493 | controller | and checks that' 2025-10-01 14:13:51.052501 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.052507 | controller | pattern' 2025-10-01 14:13:51.052513 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.052519 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.052525 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.052531 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.052536 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.052542 | controller | - ' exit 0' 2025-10-01 14:13:51.052548 | controller | - ' else' 2025-10-01 14:13:51.052554 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.052559 | controller | - ' exit 1' 2025-10-01 14:13:51.052565 | controller | - ' fi' 2025-10-01 14:13:51.052571 | controller | - ' ' 2025-10-01 14:13:51.052577 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.052582 | controller | them with a script' 2025-10-01 14:13:51.052588 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.052597 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.052605 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.052611 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.052617 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.052628 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.052634 | controller | - ' # it is an image' 2025-10-01 14:13:51.052640 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.052646 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.052651 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.052657 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.052663 | controller | - ' case $NAME in' 2025-10-01 14:13:51.052669 | controller | - ' API)' 2025-10-01 14:13:51.052675 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.052680 | controller | - ' ;;' 2025-10-01 14:13:51.052686 | controller | - ' esac' 2025-10-01 14:13:51.052692 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.052698 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.052704 | controller | - ' exit 1' 2025-10-01 14:13:51.052709 | controller | - ' fi' 2025-10-01 14:13:51.052715 | controller | - ' fi' 2025-10-01 14:13:51.052721 | controller | - ' done' 2025-10-01 14:13:51.052727 | controller | - ' ]' 2025-10-01 14:13:51.052733 | controller | - ' logger.go:42: 13:54:49 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.052739 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.052744 | controller | rely on' 2025-10-01 14:13:51.052750 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.052756 | controller | and checks that' 2025-10-01 14:13:51.052762 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.052768 | controller | pattern' 2025-10-01 14:13:51.052773 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.052779 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.052785 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.052793 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.052799 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.052807 | controller | - ' exit 0' 2025-10-01 14:13:51.052813 | controller | - ' else' 2025-10-01 14:13:51.052819 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.052825 | controller | - ' exit 1' 2025-10-01 14:13:51.052830 | controller | - ' fi' 2025-10-01 14:13:51.052836 | controller | - ' ' 2025-10-01 14:13:51.052842 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.052848 | controller | them with a script' 2025-10-01 14:13:51.052854 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.052859 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.052865 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.052878 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.052884 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.052899 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.052905 | controller | - ' # it is an image' 2025-10-01 14:13:51.052911 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.052917 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.052922 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.052928 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.052934 | controller | - ' case $NAME in' 2025-10-01 14:13:51.052940 | controller | - ' API)' 2025-10-01 14:13:51.052946 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.052951 | controller | - ' ;;' 2025-10-01 14:13:51.052957 | controller | - ' esac' 2025-10-01 14:13:51.052963 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.052969 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.052975 | controller | - ' exit 1' 2025-10-01 14:13:51.052980 | controller | - ' fi' 2025-10-01 14:13:51.052986 | controller | - ' fi' 2025-10-01 14:13:51.052992 | controller | - ' done' 2025-10-01 14:13:51.052998 | controller | - ' ]' 2025-10-01 14:13:51.053004 | controller | - ' logger.go:42: 13:54:51 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.053009 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.053015 | controller | rely on' 2025-10-01 14:13:51.053021 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.053027 | controller | and checks that' 2025-10-01 14:13:51.053033 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.053038 | controller | pattern' 2025-10-01 14:13:51.053044 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.053050 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.053056 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.053062 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.053067 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.053073 | controller | - ' exit 0' 2025-10-01 14:13:51.053079 | controller | - ' else' 2025-10-01 14:13:51.053085 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.053091 | controller | - ' exit 1' 2025-10-01 14:13:51.053096 | controller | - ' fi' 2025-10-01 14:13:51.053102 | controller | - ' ' 2025-10-01 14:13:51.053108 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.053114 | controller | them with a script' 2025-10-01 14:13:51.053120 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.053125 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.053131 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.053137 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.053143 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.053154 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.053160 | controller | - ' # it is an image' 2025-10-01 14:13:51.053166 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.053172 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.053180 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.053186 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.053192 | controller | - ' case $NAME in' 2025-10-01 14:13:51.053198 | controller | - ' API)' 2025-10-01 14:13:51.053203 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.053209 | controller | - ' ;;' 2025-10-01 14:13:51.053215 | controller | - ' esac' 2025-10-01 14:13:51.053221 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.053226 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.053232 | controller | - ' exit 1' 2025-10-01 14:13:51.053238 | controller | - ' fi' 2025-10-01 14:13:51.053244 | controller | - ' fi' 2025-10-01 14:13:51.053250 | controller | - ' done' 2025-10-01 14:13:51.053255 | controller | - ' ]' 2025-10-01 14:13:51.053261 | controller | - ' logger.go:42: 13:54:52 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.053267 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.053273 | controller | rely on' 2025-10-01 14:13:51.053279 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.053284 | controller | and checks that' 2025-10-01 14:13:51.053290 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.053296 | controller | pattern' 2025-10-01 14:13:51.053302 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.053308 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.053319 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.053325 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.053331 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.053337 | controller | - ' exit 0' 2025-10-01 14:13:51.053343 | controller | - ' else' 2025-10-01 14:13:51.053349 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.053354 | controller | - ' exit 1' 2025-10-01 14:13:51.053360 | controller | - ' fi' 2025-10-01 14:13:51.053366 | controller | - ' ' 2025-10-01 14:13:51.053372 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.053378 | controller | them with a script' 2025-10-01 14:13:51.053384 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.053389 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.053397 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.053423 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.053430 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.053441 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.053447 | controller | - ' # it is an image' 2025-10-01 14:13:51.053453 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.053459 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.053464 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.053470 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.053476 | controller | - ' case $NAME in' 2025-10-01 14:13:51.053482 | controller | - ' API)' 2025-10-01 14:13:51.053490 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.053496 | controller | - ' ;;' 2025-10-01 14:13:51.053502 | controller | - ' esac' 2025-10-01 14:13:51.053508 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.053514 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.053519 | controller | - ' exit 1' 2025-10-01 14:13:51.053525 | controller | - ' fi' 2025-10-01 14:13:51.053531 | controller | - ' fi' 2025-10-01 14:13:51.053537 | controller | - ' done' 2025-10-01 14:13:51.053543 | controller | - ' ]' 2025-10-01 14:13:51.053548 | controller | - ' logger.go:42: 13:54:53 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.053554 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.053560 | controller | rely on' 2025-10-01 14:13:51.053566 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.053571 | controller | and checks that' 2025-10-01 14:13:51.053577 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.053583 | controller | pattern' 2025-10-01 14:13:51.053589 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.053595 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.053600 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.053606 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.053615 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.053621 | controller | - ' exit 0' 2025-10-01 14:13:51.053626 | controller | - ' else' 2025-10-01 14:13:51.053632 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.053638 | controller | - ' exit 1' 2025-10-01 14:13:51.053644 | controller | - ' fi' 2025-10-01 14:13:51.053650 | controller | - ' ' 2025-10-01 14:13:51.053655 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.053661 | controller | them with a script' 2025-10-01 14:13:51.053670 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.053676 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.053689 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.053695 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.053701 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.053713 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.053719 | controller | - ' # it is an image' 2025-10-01 14:13:51.053724 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.053730 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.053736 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.053742 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.053747 | controller | - ' case $NAME in' 2025-10-01 14:13:51.053753 | controller | - ' API)' 2025-10-01 14:13:51.053759 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.053765 | controller | - ' ;;' 2025-10-01 14:13:51.053771 | controller | - ' esac' 2025-10-01 14:13:51.053776 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.053782 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.053791 | controller | - ' exit 1' 2025-10-01 14:13:51.053804 | controller | - ' fi' 2025-10-01 14:13:51.053810 | controller | - ' fi' 2025-10-01 14:13:51.053816 | controller | - ' done' 2025-10-01 14:13:51.053822 | controller | - ' ]' 2025-10-01 14:13:51.053828 | controller | - ' logger.go:42: 13:54:54 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.053833 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.053839 | controller | rely on' 2025-10-01 14:13:51.053845 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.053851 | controller | and checks that' 2025-10-01 14:13:51.053857 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.053863 | controller | pattern' 2025-10-01 14:13:51.053868 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.053874 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.053880 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.053886 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.053891 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.053897 | controller | - ' exit 0' 2025-10-01 14:13:51.053903 | controller | - ' else' 2025-10-01 14:13:51.053909 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.053915 | controller | - ' exit 1' 2025-10-01 14:13:51.053920 | controller | - ' fi' 2025-10-01 14:13:51.053926 | controller | - ' ' 2025-10-01 14:13:51.053932 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.053938 | controller | them with a script' 2025-10-01 14:13:51.053944 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.053949 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.053955 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.053961 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.053967 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.053978 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.053984 | controller | - ' # it is an image' 2025-10-01 14:13:51.053990 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.053995 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.054001 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.054007 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.054013 | controller | - ' case $NAME in' 2025-10-01 14:13:51.054019 | controller | - ' API)' 2025-10-01 14:13:51.054024 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.054030 | controller | - ' ;;' 2025-10-01 14:13:51.054036 | controller | - ' esac' 2025-10-01 14:13:51.054042 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.054047 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.054053 | controller | - ' exit 1' 2025-10-01 14:13:51.054059 | controller | - ' fi' 2025-10-01 14:13:51.054065 | controller | - ' fi' 2025-10-01 14:13:51.054070 | controller | - ' done' 2025-10-01 14:13:51.054076 | controller | - ' ]' 2025-10-01 14:13:51.054082 | controller | - ' logger.go:42: 13:54:55 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.054093 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.054099 | controller | rely on' 2025-10-01 14:13:51.054105 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.054110 | controller | and checks that' 2025-10-01 14:13:51.054116 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.054122 | controller | pattern' 2025-10-01 14:13:51.054128 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.054133 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.054139 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.054145 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.054151 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.054157 | controller | - ' exit 0' 2025-10-01 14:13:51.054162 | controller | - ' else' 2025-10-01 14:13:51.054168 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.054174 | controller | - ' exit 1' 2025-10-01 14:13:51.054180 | controller | - ' fi' 2025-10-01 14:13:51.054185 | controller | - ' ' 2025-10-01 14:13:51.054191 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.054197 | controller | them with a script' 2025-10-01 14:13:51.054203 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.054208 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.054214 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.054220 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.054226 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.054237 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.054249 | controller | - ' # it is an image' 2025-10-01 14:13:51.054255 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.054261 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.054267 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.054273 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.054279 | controller | - ' case $NAME in' 2025-10-01 14:13:51.054285 | controller | - ' API)' 2025-10-01 14:13:51.054290 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.054296 | controller | - ' ;;' 2025-10-01 14:13:51.054302 | controller | - ' esac' 2025-10-01 14:13:51.054308 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.054313 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.054319 | controller | - ' exit 1' 2025-10-01 14:13:51.054325 | controller | - ' fi' 2025-10-01 14:13:51.054332 | controller | - ' fi' 2025-10-01 14:13:51.054339 | controller | - ' done' 2025-10-01 14:13:51.054347 | controller | - ' ]' 2025-10-01 14:13:51.054355 | controller | - ' logger.go:42: 13:54:56 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.054362 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.054370 | controller | rely on' 2025-10-01 14:13:51.054377 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.054385 | controller | and checks that' 2025-10-01 14:13:51.054392 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.054439 | controller | pattern' 2025-10-01 14:13:51.054454 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.054472 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.054480 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.054488 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.054496 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.054504 | controller | - ' exit 0' 2025-10-01 14:13:51.054511 | controller | - ' else' 2025-10-01 14:13:51.054517 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.054523 | controller | - ' exit 1' 2025-10-01 14:13:51.054529 | controller | - ' fi' 2025-10-01 14:13:51.054534 | controller | - ' ' 2025-10-01 14:13:51.054540 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.054546 | controller | them with a script' 2025-10-01 14:13:51.054554 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.054561 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.054569 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.054577 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.054584 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.054599 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.054607 | controller | - ' # it is an image' 2025-10-01 14:13:51.054612 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.054618 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.054624 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.054630 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.054636 | controller | - ' case $NAME in' 2025-10-01 14:13:51.054642 | controller | - ' API)' 2025-10-01 14:13:51.054650 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.054658 | controller | - ' ;;' 2025-10-01 14:13:51.054666 | controller | - ' esac' 2025-10-01 14:13:51.054673 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.054681 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.054688 | controller | - ' exit 1' 2025-10-01 14:13:51.054696 | controller | - ' fi' 2025-10-01 14:13:51.054703 | controller | - ' fi' 2025-10-01 14:13:51.054710 | controller | - ' done' 2025-10-01 14:13:51.054717 | controller | - ' ]' 2025-10-01 14:13:51.054723 | controller | - ' logger.go:42: 13:54:58 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.054730 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.054738 | controller | rely on' 2025-10-01 14:13:51.054745 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.054753 | controller | and checks that' 2025-10-01 14:13:51.054760 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.054768 | controller | pattern' 2025-10-01 14:13:51.054775 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.054783 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.054790 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.054803 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.054811 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.054822 | controller | - ' exit 0' 2025-10-01 14:13:51.054830 | controller | - ' else' 2025-10-01 14:13:51.054850 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.054857 | controller | - ' exit 1' 2025-10-01 14:13:51.054862 | controller | - ' fi' 2025-10-01 14:13:51.054868 | controller | - ' ' 2025-10-01 14:13:51.054877 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.054883 | controller | them with a script' 2025-10-01 14:13:51.054891 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.054897 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.054903 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.054909 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.054914 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.054926 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.054932 | controller | - ' # it is an image' 2025-10-01 14:13:51.054938 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.054944 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.054949 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.054955 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.054961 | controller | - ' case $NAME in' 2025-10-01 14:13:51.054969 | controller | - ' API)' 2025-10-01 14:13:51.054975 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.054981 | controller | - ' ;;' 2025-10-01 14:13:51.054986 | controller | - ' esac' 2025-10-01 14:13:51.054992 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.054998 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.055004 | controller | - ' exit 1' 2025-10-01 14:13:51.055010 | controller | - ' fi' 2025-10-01 14:13:51.055015 | controller | - ' fi' 2025-10-01 14:13:51.055021 | controller | - ' done' 2025-10-01 14:13:51.055027 | controller | - ' ]' 2025-10-01 14:13:51.055033 | controller | - ' logger.go:42: 13:54:59 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.055038 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.055044 | controller | rely on' 2025-10-01 14:13:51.055050 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.055056 | controller | and checks that' 2025-10-01 14:13:51.055062 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.055067 | controller | pattern' 2025-10-01 14:13:51.055073 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.055079 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.055086 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.055093 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.055099 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.055106 | controller | - ' exit 0' 2025-10-01 14:13:51.055113 | controller | - ' else' 2025-10-01 14:13:51.055119 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.055127 | controller | - ' exit 1' 2025-10-01 14:13:51.055133 | controller | - ' fi' 2025-10-01 14:13:51.055139 | controller | - ' ' 2025-10-01 14:13:51.055148 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.055154 | controller | them with a script' 2025-10-01 14:13:51.055159 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.055165 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.055171 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.055177 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.055183 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.055194 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.055200 | controller | - ' # it is an image' 2025-10-01 14:13:51.055206 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.055211 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.055217 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.055223 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.055229 | controller | - ' case $NAME in' 2025-10-01 14:13:51.055234 | controller | - ' API)' 2025-10-01 14:13:51.055240 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.055246 | controller | - ' ;;' 2025-10-01 14:13:51.055252 | controller | - ' esac' 2025-10-01 14:13:51.055258 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.055264 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.055277 | controller | - ' exit 1' 2025-10-01 14:13:51.055292 | controller | - ' fi' 2025-10-01 14:13:51.055299 | controller | - ' fi' 2025-10-01 14:13:51.055305 | controller | - ' done' 2025-10-01 14:13:51.055311 | controller | - ' ]' 2025-10-01 14:13:51.055317 | controller | - ' logger.go:42: 13:55:00 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.055334 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.055340 | controller | rely on' 2025-10-01 14:13:51.055346 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.055352 | controller | and checks that' 2025-10-01 14:13:51.055358 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.055364 | controller | pattern' 2025-10-01 14:13:51.055370 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.055380 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.055386 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.055392 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.055418 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.055427 | controller | - ' exit 0' 2025-10-01 14:13:51.055433 | controller | - ' else' 2025-10-01 14:13:51.055439 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.055445 | controller | - ' exit 1' 2025-10-01 14:13:51.055451 | controller | - ' fi' 2025-10-01 14:13:51.055457 | controller | - ' ' 2025-10-01 14:13:51.055463 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.055468 | controller | them with a script' 2025-10-01 14:13:51.055474 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.055484 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.055490 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.055496 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.055502 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.055513 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.055519 | controller | - ' # it is an image' 2025-10-01 14:13:51.055525 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.055531 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.055536 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.055542 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.055548 | controller | - ' case $NAME in' 2025-10-01 14:13:51.055554 | controller | - ' API)' 2025-10-01 14:13:51.055560 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.055566 | controller | - ' ;;' 2025-10-01 14:13:51.055571 | controller | - ' esac' 2025-10-01 14:13:51.055577 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.055583 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.055589 | controller | - ' exit 1' 2025-10-01 14:13:51.055595 | controller | - ' fi' 2025-10-01 14:13:51.055601 | controller | - ' fi' 2025-10-01 14:13:51.055606 | controller | - ' done' 2025-10-01 14:13:51.055612 | controller | - ' ]' 2025-10-01 14:13:51.055618 | controller | - ' logger.go:42: 13:55:01 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.055624 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.055630 | controller | rely on' 2025-10-01 14:13:51.055635 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.055641 | controller | and checks that' 2025-10-01 14:13:51.055647 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.055653 | controller | pattern' 2025-10-01 14:13:51.055659 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.055665 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.055670 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.055676 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.055682 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.055691 | controller | - ' exit 0' 2025-10-01 14:13:51.055697 | controller | - ' else' 2025-10-01 14:13:51.055703 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.055709 | controller | - ' exit 1' 2025-10-01 14:13:51.055715 | controller | - ' fi' 2025-10-01 14:13:51.055720 | controller | - ' ' 2025-10-01 14:13:51.055726 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.055732 | controller | them with a script' 2025-10-01 14:13:51.055738 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.055744 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.055750 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.055756 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.055776 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.055791 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.055797 | controller | - ' # it is an image' 2025-10-01 14:13:51.055803 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.055809 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.055823 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.055829 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.055835 | controller | - ' case $NAME in' 2025-10-01 14:13:51.055841 | controller | - ' API)' 2025-10-01 14:13:51.055847 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.055853 | controller | - ' ;;' 2025-10-01 14:13:51.055859 | controller | - ' esac' 2025-10-01 14:13:51.055864 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.055870 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.055876 | controller | - ' exit 1' 2025-10-01 14:13:51.055882 | controller | - ' fi' 2025-10-01 14:13:51.055888 | controller | - ' fi' 2025-10-01 14:13:51.055894 | controller | - ' done' 2025-10-01 14:13:51.055899 | controller | - ' ]' 2025-10-01 14:13:51.055905 | controller | - ' logger.go:42: 13:55:03 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.055911 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.055917 | controller | rely on' 2025-10-01 14:13:51.055922 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.055928 | controller | and checks that' 2025-10-01 14:13:51.055937 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.055943 | controller | pattern' 2025-10-01 14:13:51.055948 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.055954 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.055960 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.055966 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.055972 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.055977 | controller | - ' exit 0' 2025-10-01 14:13:51.055983 | controller | - ' else' 2025-10-01 14:13:51.055989 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.055995 | controller | - ' exit 1' 2025-10-01 14:13:51.056000 | controller | - ' fi' 2025-10-01 14:13:51.056006 | controller | - ' ' 2025-10-01 14:13:51.056012 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.056018 | controller | them with a script' 2025-10-01 14:13:51.056024 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.056029 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.056035 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.056041 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.056047 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.056058 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.056064 | controller | - ' # it is an image' 2025-10-01 14:13:51.056070 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.056079 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.056085 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.056091 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.056097 | controller | - ' case $NAME in' 2025-10-01 14:13:51.056103 | controller | - ' API)' 2025-10-01 14:13:51.056108 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.056114 | controller | - ' ;;' 2025-10-01 14:13:51.056120 | controller | - ' esac' 2025-10-01 14:13:51.056131 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.056137 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.056142 | controller | - ' exit 1' 2025-10-01 14:13:51.056148 | controller | - ' fi' 2025-10-01 14:13:51.056154 | controller | - ' fi' 2025-10-01 14:13:51.056160 | controller | - ' done' 2025-10-01 14:13:51.056166 | controller | - ' ]' 2025-10-01 14:13:51.056171 | controller | - ' logger.go:42: 13:55:04 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.056177 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.056183 | controller | rely on' 2025-10-01 14:13:51.056192 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.056197 | controller | and checks that' 2025-10-01 14:13:51.056203 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.056209 | controller | pattern' 2025-10-01 14:13:51.056215 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.056221 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.056227 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.056232 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.056238 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.056244 | controller | - ' exit 0' 2025-10-01 14:13:51.056250 | controller | - ' else' 2025-10-01 14:13:51.056256 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.056263 | controller | - ' exit 1' 2025-10-01 14:13:51.056271 | controller | - ' fi' 2025-10-01 14:13:51.056279 | controller | - ' ' 2025-10-01 14:13:51.056287 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.056302 | controller | them with a script' 2025-10-01 14:13:51.056309 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.056315 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.056320 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.056326 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.056332 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.056344 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.056350 | controller | - ' # it is an image' 2025-10-01 14:13:51.056355 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.056361 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.056367 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.056373 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.056378 | controller | - ' case $NAME in' 2025-10-01 14:13:51.056384 | controller | - ' API)' 2025-10-01 14:13:51.056393 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.056416 | controller | - ' ;;' 2025-10-01 14:13:51.056422 | controller | - ' esac' 2025-10-01 14:13:51.056428 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.056434 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.056440 | controller | - ' exit 1' 2025-10-01 14:13:51.056446 | controller | - ' fi' 2025-10-01 14:13:51.056453 | controller | - ' fi' 2025-10-01 14:13:51.056517 | controller | - ' done' 2025-10-01 14:13:51.056531 | controller | - ' ]' 2025-10-01 14:13:51.056539 | controller | - ' logger.go:42: 13:55:05 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.056547 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.056555 | controller | rely on' 2025-10-01 14:13:51.056563 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.056570 | controller | and checks that' 2025-10-01 14:13:51.056578 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.056585 | controller | pattern' 2025-10-01 14:13:51.056591 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.056596 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.056602 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.056608 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.056614 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.056620 | controller | - ' exit 0' 2025-10-01 14:13:51.056626 | controller | - ' else' 2025-10-01 14:13:51.056631 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.056637 | controller | - ' exit 1' 2025-10-01 14:13:51.056643 | controller | - ' fi' 2025-10-01 14:13:51.056649 | controller | - ' ' 2025-10-01 14:13:51.056655 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.056660 | controller | them with a script' 2025-10-01 14:13:51.056666 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.056672 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.056678 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.056684 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.056690 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.056701 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.056707 | controller | - ' # it is an image' 2025-10-01 14:13:51.056713 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.056719 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.056724 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.056730 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.056736 | controller | - ' case $NAME in' 2025-10-01 14:13:51.056742 | controller | - ' API)' 2025-10-01 14:13:51.056748 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.056753 | controller | - ' ;;' 2025-10-01 14:13:51.056759 | controller | - ' esac' 2025-10-01 14:13:51.056765 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.056771 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.056780 | controller | - ' exit 1' 2025-10-01 14:13:51.056786 | controller | - ' fi' 2025-10-01 14:13:51.056792 | controller | - ' fi' 2025-10-01 14:13:51.056798 | controller | - ' done' 2025-10-01 14:13:51.056804 | controller | - ' ]' 2025-10-01 14:13:51.056809 | controller | - ' logger.go:42: 13:55:06 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.056815 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.056821 | controller | rely on' 2025-10-01 14:13:51.056827 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.056833 | controller | and checks that' 2025-10-01 14:13:51.056850 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.056857 | controller | pattern' 2025-10-01 14:13:51.056863 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.056869 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.056875 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.056881 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.056887 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.056893 | controller | - ' exit 0' 2025-10-01 14:13:51.056899 | controller | - ' else' 2025-10-01 14:13:51.056905 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.056911 | controller | - ' exit 1' 2025-10-01 14:13:51.056916 | controller | - ' fi' 2025-10-01 14:13:51.056922 | controller | - ' ' 2025-10-01 14:13:51.056928 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.056934 | controller | them with a script' 2025-10-01 14:13:51.056940 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.056946 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.056951 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.056957 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.056967 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.056979 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.056984 | controller | - ' # it is an image' 2025-10-01 14:13:51.056990 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.056999 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.057004 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.057010 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.057016 | controller | - ' case $NAME in' 2025-10-01 14:13:51.057022 | controller | - ' API)' 2025-10-01 14:13:51.057028 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.057034 | controller | - ' ;;' 2025-10-01 14:13:51.057039 | controller | - ' esac' 2025-10-01 14:13:51.057045 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.057051 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.057057 | controller | - ' exit 1' 2025-10-01 14:13:51.057063 | controller | - ' fi' 2025-10-01 14:13:51.057069 | controller | - ' fi' 2025-10-01 14:13:51.057074 | controller | - ' done' 2025-10-01 14:13:51.057080 | controller | - ' ]' 2025-10-01 14:13:51.057086 | controller | - ' logger.go:42: 13:55:08 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.057095 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.057100 | controller | rely on' 2025-10-01 14:13:51.057109 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.057114 | controller | and checks that' 2025-10-01 14:13:51.057120 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.057126 | controller | pattern' 2025-10-01 14:13:51.057132 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.057138 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.057143 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.057149 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.057155 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.057161 | controller | - ' exit 0' 2025-10-01 14:13:51.057167 | controller | - ' else' 2025-10-01 14:13:51.057173 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.057178 | controller | - ' exit 1' 2025-10-01 14:13:51.057184 | controller | - ' fi' 2025-10-01 14:13:51.057190 | controller | - ' ' 2025-10-01 14:13:51.057196 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.057202 | controller | them with a script' 2025-10-01 14:13:51.057207 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.057213 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.057219 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.057225 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.057230 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.057242 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.057248 | controller | - ' # it is an image' 2025-10-01 14:13:51.057254 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.057262 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.057270 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.057278 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.057285 | controller | - ' case $NAME in' 2025-10-01 14:13:51.057292 | controller | - ' API)' 2025-10-01 14:13:51.057305 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.057311 | controller | - ' ;;' 2025-10-01 14:13:51.057317 | controller | - ' esac' 2025-10-01 14:13:51.057323 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.057329 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.057335 | controller | - ' exit 1' 2025-10-01 14:13:51.057341 | controller | - ' fi' 2025-10-01 14:13:51.057346 | controller | - ' fi' 2025-10-01 14:13:51.057356 | controller | - ' done' 2025-10-01 14:13:51.057361 | controller | - ' ]' 2025-10-01 14:13:51.057367 | controller | - ' logger.go:42: 13:55:09 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.057373 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.057379 | controller | rely on' 2025-10-01 14:13:51.057385 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.057391 | controller | and checks that' 2025-10-01 14:13:51.057415 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.057429 | controller | pattern' 2025-10-01 14:13:51.057436 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.057442 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.057448 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.057454 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.057460 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.057466 | controller | - ' exit 0' 2025-10-01 14:13:51.057471 | controller | - ' else' 2025-10-01 14:13:51.057477 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.057483 | controller | - ' exit 1' 2025-10-01 14:13:51.057489 | controller | - ' fi' 2025-10-01 14:13:51.057494 | controller | - ' ' 2025-10-01 14:13:51.057500 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.057506 | controller | them with a script' 2025-10-01 14:13:51.057512 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.057518 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.057524 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.057529 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.057535 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.057547 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.057553 | controller | - ' # it is an image' 2025-10-01 14:13:51.057558 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.057564 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.057570 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.057576 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.057582 | controller | - ' case $NAME in' 2025-10-01 14:13:51.057588 | controller | - ' API)' 2025-10-01 14:13:51.057593 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.057599 | controller | - ' ;;' 2025-10-01 14:13:51.057605 | controller | - ' esac' 2025-10-01 14:13:51.057611 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.057617 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.057623 | controller | - ' exit 1' 2025-10-01 14:13:51.057628 | controller | - ' fi' 2025-10-01 14:13:51.057634 | controller | - ' fi' 2025-10-01 14:13:51.057640 | controller | - ' done' 2025-10-01 14:13:51.057646 | controller | - ' ]' 2025-10-01 14:13:51.057652 | controller | - ' logger.go:42: 13:55:10 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.057657 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.057663 | controller | rely on' 2025-10-01 14:13:51.057669 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.057675 | controller | and checks that' 2025-10-01 14:13:51.057681 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.057686 | controller | pattern' 2025-10-01 14:13:51.057692 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.057698 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.057704 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.057712 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.057718 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.057724 | controller | - ' exit 0' 2025-10-01 14:13:51.057730 | controller | - ' else' 2025-10-01 14:13:51.057735 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.057741 | controller | - ' exit 1' 2025-10-01 14:13:51.057747 | controller | - ' fi' 2025-10-01 14:13:51.057753 | controller | - ' ' 2025-10-01 14:13:51.057758 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.057764 | controller | them with a script' 2025-10-01 14:13:51.057770 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.057776 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.057789 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.057795 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.057801 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.057813 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.057819 | controller | - ' # it is an image' 2025-10-01 14:13:51.057825 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.057830 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.057836 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.057842 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.057848 | controller | - ' case $NAME in' 2025-10-01 14:13:51.057854 | controller | - ' API)' 2025-10-01 14:13:51.057859 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.057865 | controller | - ' ;;' 2025-10-01 14:13:51.057871 | controller | - ' esac' 2025-10-01 14:13:51.057877 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.057883 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.057889 | controller | - ' exit 1' 2025-10-01 14:13:51.057894 | controller | - ' fi' 2025-10-01 14:13:51.057900 | controller | - ' fi' 2025-10-01 14:13:51.057906 | controller | - ' done' 2025-10-01 14:13:51.057912 | controller | - ' ]' 2025-10-01 14:13:51.057918 | controller | - ' logger.go:42: 13:55:11 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.057924 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.057929 | controller | rely on' 2025-10-01 14:13:51.057935 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.057941 | controller | and checks that' 2025-10-01 14:13:51.057947 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.057953 | controller | pattern' 2025-10-01 14:13:51.057959 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.057964 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.057970 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.057976 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.057982 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.057988 | controller | - ' exit 0' 2025-10-01 14:13:51.057993 | controller | - ' else' 2025-10-01 14:13:51.057999 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.058008 | controller | - ' exit 1' 2025-10-01 14:13:51.058014 | controller | - ' fi' 2025-10-01 14:13:51.058019 | controller | - ' ' 2025-10-01 14:13:51.058025 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.058031 | controller | them with a script' 2025-10-01 14:13:51.058037 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.058043 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.058048 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.058054 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.058060 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.058075 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.058081 | controller | - ' # it is an image' 2025-10-01 14:13:51.058086 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.058092 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.058098 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.058104 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.058110 | controller | - ' case $NAME in' 2025-10-01 14:13:51.058115 | controller | - ' API)' 2025-10-01 14:13:51.058121 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.058127 | controller | - ' ;;' 2025-10-01 14:13:51.058133 | controller | - ' esac' 2025-10-01 14:13:51.058139 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.058144 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.058150 | controller | - ' exit 1' 2025-10-01 14:13:51.058156 | controller | - ' fi' 2025-10-01 14:13:51.058162 | controller | - ' fi' 2025-10-01 14:13:51.058168 | controller | - ' done' 2025-10-01 14:13:51.058173 | controller | - ' ]' 2025-10-01 14:13:51.058179 | controller | - ' logger.go:42: 13:55:12 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.058187 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.058193 | controller | rely on' 2025-10-01 14:13:51.058199 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.058205 | controller | and checks that' 2025-10-01 14:13:51.058211 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.058216 | controller | pattern' 2025-10-01 14:13:51.058222 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.058228 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.058241 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.058247 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.058253 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.058260 | controller | - ' exit 0' 2025-10-01 14:13:51.058268 | controller | - ' else' 2025-10-01 14:13:51.058276 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.058284 | controller | - ' exit 1' 2025-10-01 14:13:51.058291 | controller | - ' fi' 2025-10-01 14:13:51.058297 | controller | - ' ' 2025-10-01 14:13:51.058302 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.058308 | controller | them with a script' 2025-10-01 14:13:51.058317 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.058323 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.058329 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.058335 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.058341 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.058352 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.058358 | controller | - ' # it is an image' 2025-10-01 14:13:51.058364 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.058370 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.058375 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.058381 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.058387 | controller | - ' case $NAME in' 2025-10-01 14:13:51.058393 | controller | - ' API)' 2025-10-01 14:13:51.058415 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.058424 | controller | - ' ;;' 2025-10-01 14:13:51.058430 | controller | - ' esac' 2025-10-01 14:13:51.058436 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.058442 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.058447 | controller | - ' exit 1' 2025-10-01 14:13:51.058453 | controller | - ' fi' 2025-10-01 14:13:51.058459 | controller | - ' fi' 2025-10-01 14:13:51.058465 | controller | - ' done' 2025-10-01 14:13:51.058471 | controller | - ' ]' 2025-10-01 14:13:51.058476 | controller | - ' logger.go:42: 13:55:13 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.058482 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.058492 | controller | rely on' 2025-10-01 14:13:51.058498 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.058504 | controller | and checks that' 2025-10-01 14:13:51.058514 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.058520 | controller | pattern' 2025-10-01 14:13:51.058526 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.058532 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.058538 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.058546 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.058552 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.058561 | controller | - ' exit 0' 2025-10-01 14:13:51.058567 | controller | - ' else' 2025-10-01 14:13:51.058572 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.058578 | controller | - ' exit 1' 2025-10-01 14:13:51.058584 | controller | - ' fi' 2025-10-01 14:13:51.058590 | controller | - ' ' 2025-10-01 14:13:51.058596 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.058602 | controller | them with a script' 2025-10-01 14:13:51.058608 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.058613 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.058619 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.058625 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.058634 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.058646 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.058652 | controller | - ' # it is an image' 2025-10-01 14:13:51.058657 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.058663 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.058669 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.058675 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.058681 | controller | - ' case $NAME in' 2025-10-01 14:13:51.058687 | controller | - ' API)' 2025-10-01 14:13:51.058692 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.058698 | controller | - ' ;;' 2025-10-01 14:13:51.058704 | controller | - ' esac' 2025-10-01 14:13:51.058710 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.058716 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.058731 | controller | - ' exit 1' 2025-10-01 14:13:51.058737 | controller | - ' fi' 2025-10-01 14:13:51.058743 | controller | - ' fi' 2025-10-01 14:13:51.058749 | controller | - ' done' 2025-10-01 14:13:51.058754 | controller | - ' ]' 2025-10-01 14:13:51.058760 | controller | - ' logger.go:42: 13:55:15 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.058766 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.058772 | controller | rely on' 2025-10-01 14:13:51.058778 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.058784 | controller | and checks that' 2025-10-01 14:13:51.058789 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.058795 | controller | pattern' 2025-10-01 14:13:51.058801 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.058807 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.058813 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.058819 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.058824 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.058830 | controller | - ' exit 0' 2025-10-01 14:13:51.058836 | controller | - ' else' 2025-10-01 14:13:51.058842 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.058848 | controller | - ' exit 1' 2025-10-01 14:13:51.058853 | controller | - ' fi' 2025-10-01 14:13:51.058859 | controller | - ' ' 2025-10-01 14:13:51.058865 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.058871 | controller | them with a script' 2025-10-01 14:13:51.058877 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.058883 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.058888 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.058894 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.058900 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.058912 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.058917 | controller | - ' # it is an image' 2025-10-01 14:13:51.058923 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.058932 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.058940 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.058946 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.058952 | controller | - ' case $NAME in' 2025-10-01 14:13:51.058958 | controller | - ' API)' 2025-10-01 14:13:51.058964 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.058969 | controller | - ' ;;' 2025-10-01 14:13:51.058975 | controller | - ' esac' 2025-10-01 14:13:51.058981 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.058987 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.058993 | controller | - ' exit 1' 2025-10-01 14:13:51.058998 | controller | - ' fi' 2025-10-01 14:13:51.059004 | controller | - ' fi' 2025-10-01 14:13:51.059010 | controller | - ' done' 2025-10-01 14:13:51.059016 | controller | - ' ]' 2025-10-01 14:13:51.059022 | controller | - ' logger.go:42: 13:55:16 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.059027 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.059033 | controller | rely on' 2025-10-01 14:13:51.059039 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.059045 | controller | and checks that' 2025-10-01 14:13:51.059051 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.059056 | controller | pattern' 2025-10-01 14:13:51.059062 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.059068 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.059074 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.059080 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.059085 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.059091 | controller | - ' exit 0' 2025-10-01 14:13:51.059097 | controller | - ' else' 2025-10-01 14:13:51.059103 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.059109 | controller | - ' exit 1' 2025-10-01 14:13:51.059114 | controller | - ' fi' 2025-10-01 14:13:51.059120 | controller | - ' ' 2025-10-01 14:13:51.059126 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.059132 | controller | them with a script' 2025-10-01 14:13:51.059138 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.059143 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.059149 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.059155 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.059161 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.059180 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.059186 | controller | - ' # it is an image' 2025-10-01 14:13:51.059192 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.059198 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.059203 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.059209 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.059218 | controller | - ' case $NAME in' 2025-10-01 14:13:51.059223 | controller | - ' API)' 2025-10-01 14:13:51.059232 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.059237 | controller | - ' ;;' 2025-10-01 14:13:51.059243 | controller | - ' esac' 2025-10-01 14:13:51.059249 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.059255 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.059263 | controller | - ' exit 1' 2025-10-01 14:13:51.059271 | controller | - ' fi' 2025-10-01 14:13:51.059279 | controller | - ' fi' 2025-10-01 14:13:51.059286 | controller | - ' done' 2025-10-01 14:13:51.059292 | controller | - ' ]' 2025-10-01 14:13:51.059298 | controller | - ' logger.go:42: 13:55:17 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.059304 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.059310 | controller | rely on' 2025-10-01 14:13:51.059316 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.059321 | controller | and checks that' 2025-10-01 14:13:51.059327 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.059333 | controller | pattern' 2025-10-01 14:13:51.059339 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.059345 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.059350 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.059356 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.059362 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.059368 | controller | - ' exit 0' 2025-10-01 14:13:51.059374 | controller | - ' else' 2025-10-01 14:13:51.059379 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.059385 | controller | - ' exit 1' 2025-10-01 14:13:51.059391 | controller | - ' fi' 2025-10-01 14:13:51.059411 | controller | - ' ' 2025-10-01 14:13:51.059421 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.059427 | controller | them with a script' 2025-10-01 14:13:51.059432 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.059438 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.059444 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.059450 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.059456 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.059467 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.059473 | controller | - ' # it is an image' 2025-10-01 14:13:51.059479 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.059485 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.059491 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.059496 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.059502 | controller | - ' case $NAME in' 2025-10-01 14:13:51.059508 | controller | - ' API)' 2025-10-01 14:13:51.059514 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.059520 | controller | - ' ;;' 2025-10-01 14:13:51.059525 | controller | - ' esac' 2025-10-01 14:13:51.059531 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.059537 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.059546 | controller | - ' exit 1' 2025-10-01 14:13:51.059552 | controller | - ' fi' 2025-10-01 14:13:51.059558 | controller | - ' fi' 2025-10-01 14:13:51.059564 | controller | - ' done' 2025-10-01 14:13:51.059569 | controller | - ' ]' 2025-10-01 14:13:51.059575 | controller | - ' logger.go:42: 13:55:18 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.059581 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.059587 | controller | rely on' 2025-10-01 14:13:51.059593 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.059599 | controller | and checks that' 2025-10-01 14:13:51.059604 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.059610 | controller | pattern' 2025-10-01 14:13:51.059616 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.059622 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.059628 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.059633 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.059639 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.059654 | controller | - ' exit 0' 2025-10-01 14:13:51.059660 | controller | - ' else' 2025-10-01 14:13:51.059666 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.059672 | controller | - ' exit 1' 2025-10-01 14:13:51.059681 | controller | - ' fi' 2025-10-01 14:13:51.059687 | controller | - ' ' 2025-10-01 14:13:51.059692 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.059698 | controller | them with a script' 2025-10-01 14:13:51.059704 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.059710 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.059716 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.059721 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.059727 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.059739 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.059744 | controller | - ' # it is an image' 2025-10-01 14:13:51.059750 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.059756 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.059762 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.059767 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.059793 | controller | - ' case $NAME in' 2025-10-01 14:13:51.059799 | controller | - ' API)' 2025-10-01 14:13:51.059805 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.059811 | controller | - ' ;;' 2025-10-01 14:13:51.059817 | controller | - ' esac' 2025-10-01 14:13:51.059823 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.059829 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.059835 | controller | - ' exit 1' 2025-10-01 14:13:51.059842 | controller | - ' fi' 2025-10-01 14:13:51.059847 | controller | - ' fi' 2025-10-01 14:13:51.059853 | controller | - ' done' 2025-10-01 14:13:51.059859 | controller | - ' ]' 2025-10-01 14:13:51.059865 | controller | - ' logger.go:42: 13:55:19 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.059873 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.059879 | controller | rely on' 2025-10-01 14:13:51.059885 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.059891 | controller | and checks that' 2025-10-01 14:13:51.059897 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.059903 | controller | pattern' 2025-10-01 14:13:51.059908 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.059914 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.059920 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.059926 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.059932 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.059937 | controller | - ' exit 0' 2025-10-01 14:13:51.059943 | controller | - ' else' 2025-10-01 14:13:51.059949 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.059955 | controller | - ' exit 1' 2025-10-01 14:13:51.059960 | controller | - ' fi' 2025-10-01 14:13:51.059966 | controller | - ' ' 2025-10-01 14:13:51.059972 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.059978 | controller | them with a script' 2025-10-01 14:13:51.059983 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.059989 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.059995 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.060001 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.060006 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.060018 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.060024 | controller | - ' # it is an image' 2025-10-01 14:13:51.060030 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.060036 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.060041 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.060047 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.060053 | controller | - ' case $NAME in' 2025-10-01 14:13:51.060059 | controller | - ' API)' 2025-10-01 14:13:51.060064 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.060070 | controller | - ' ;;' 2025-10-01 14:13:51.060076 | controller | - ' esac' 2025-10-01 14:13:51.060082 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.060090 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.060096 | controller | - ' exit 1' 2025-10-01 14:13:51.060102 | controller | - ' fi' 2025-10-01 14:13:51.060108 | controller | - ' fi' 2025-10-01 14:13:51.060113 | controller | - ' done' 2025-10-01 14:13:51.060119 | controller | - ' ]' 2025-10-01 14:13:51.060125 | controller | - ' logger.go:42: 13:55:21 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.060138 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.060144 | controller | rely on' 2025-10-01 14:13:51.060151 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.060156 | controller | and checks that' 2025-10-01 14:13:51.060162 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.060171 | controller | pattern' 2025-10-01 14:13:51.060177 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.060183 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.060188 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.060194 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.060200 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.060206 | controller | - ' exit 0' 2025-10-01 14:13:51.060212 | controller | - ' else' 2025-10-01 14:13:51.060217 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.060223 | controller | - ' exit 1' 2025-10-01 14:13:51.060229 | controller | - ' fi' 2025-10-01 14:13:51.060235 | controller | - ' ' 2025-10-01 14:13:51.060241 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.060246 | controller | them with a script' 2025-10-01 14:13:51.060252 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.060259 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.060266 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.060274 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.060282 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.060297 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.060306 | controller | - ' # it is an image' 2025-10-01 14:13:51.060312 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.060317 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.060323 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.060329 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.060335 | controller | - ' case $NAME in' 2025-10-01 14:13:51.060341 | controller | - ' API)' 2025-10-01 14:13:51.060346 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.060352 | controller | - ' ;;' 2025-10-01 14:13:51.060358 | controller | - ' esac' 2025-10-01 14:13:51.060364 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.060370 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.060375 | controller | - ' exit 1' 2025-10-01 14:13:51.060381 | controller | - ' fi' 2025-10-01 14:13:51.060387 | controller | - ' fi' 2025-10-01 14:13:51.060393 | controller | - ' done' 2025-10-01 14:13:51.060412 | controller | - ' ]' 2025-10-01 14:13:51.060420 | controller | - ' logger.go:42: 13:55:22 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.060426 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.060432 | controller | rely on' 2025-10-01 14:13:51.060438 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.060444 | controller | and checks that' 2025-10-01 14:13:51.060449 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.060455 | controller | pattern' 2025-10-01 14:13:51.060461 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.060467 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.060476 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.060482 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.060488 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.060493 | controller | - ' exit 0' 2025-10-01 14:13:51.060499 | controller | - ' else' 2025-10-01 14:13:51.060505 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.060511 | controller | - ' exit 1' 2025-10-01 14:13:51.060516 | controller | - ' fi' 2025-10-01 14:13:51.060522 | controller | - ' ' 2025-10-01 14:13:51.060528 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.060534 | controller | them with a script' 2025-10-01 14:13:51.060540 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.060545 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.060551 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.060557 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.060563 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.060574 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.060580 | controller | - ' # it is an image' 2025-10-01 14:13:51.060586 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.060601 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.060607 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.060613 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.060618 | controller | - ' case $NAME in' 2025-10-01 14:13:51.060624 | controller | - ' API)' 2025-10-01 14:13:51.060630 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.060636 | controller | - ' ;;' 2025-10-01 14:13:51.060642 | controller | - ' esac' 2025-10-01 14:13:51.060648 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.060653 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.060659 | controller | - ' exit 1' 2025-10-01 14:13:51.060665 | controller | - ' fi' 2025-10-01 14:13:51.060671 | controller | - ' fi' 2025-10-01 14:13:51.060676 | controller | - ' done' 2025-10-01 14:13:51.060682 | controller | - ' ]' 2025-10-01 14:13:51.060688 | controller | - ' logger.go:42: 13:55:23 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.060694 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.060700 | controller | rely on' 2025-10-01 14:13:51.060707 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.060769 | controller | and checks that' 2025-10-01 14:13:51.060784 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.060790 | controller | pattern' 2025-10-01 14:13:51.060796 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.060802 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.060807 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.060813 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.060819 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.060825 | controller | - ' exit 0' 2025-10-01 14:13:51.060831 | controller | - ' else' 2025-10-01 14:13:51.060843 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.060849 | controller | - ' exit 1' 2025-10-01 14:13:51.060855 | controller | - ' fi' 2025-10-01 14:13:51.060860 | controller | - ' ' 2025-10-01 14:13:51.060866 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.060872 | controller | them with a script' 2025-10-01 14:13:51.060881 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.060887 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.060893 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.060899 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.060905 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.060917 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.060922 | controller | - ' # it is an image' 2025-10-01 14:13:51.060928 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.060934 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.060940 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.060946 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.060952 | controller | - ' case $NAME in' 2025-10-01 14:13:51.060960 | controller | - ' API)' 2025-10-01 14:13:51.060966 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.060972 | controller | - ' ;;' 2025-10-01 14:13:51.060978 | controller | - ' esac' 2025-10-01 14:13:51.060984 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.060992 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.060998 | controller | - ' exit 1' 2025-10-01 14:13:51.061003 | controller | - ' fi' 2025-10-01 14:13:51.061009 | controller | - ' fi' 2025-10-01 14:13:51.061015 | controller | - ' done' 2025-10-01 14:13:51.061021 | controller | - ' ]' 2025-10-01 14:13:51.061027 | controller | - ' logger.go:42: 13:55:24 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.061032 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.061038 | controller | rely on' 2025-10-01 14:13:51.061044 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.061050 | controller | and checks that' 2025-10-01 14:13:51.061056 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.061062 | controller | pattern' 2025-10-01 14:13:51.061067 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.061073 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.061079 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.061086 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.061093 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.061099 | controller | - ' exit 0' 2025-10-01 14:13:51.061106 | controller | - ' else' 2025-10-01 14:13:51.061113 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.061119 | controller | - ' exit 1' 2025-10-01 14:13:51.061125 | controller | - ' fi' 2025-10-01 14:13:51.061131 | controller | - ' ' 2025-10-01 14:13:51.061148 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.061154 | controller | them with a script' 2025-10-01 14:13:51.061163 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.061169 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.061175 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.061181 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.061187 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.061198 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.061204 | controller | - ' # it is an image' 2025-10-01 14:13:51.061210 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.061216 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.061221 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.061227 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.061233 | controller | - ' case $NAME in' 2025-10-01 14:13:51.061239 | controller | - ' API)' 2025-10-01 14:13:51.061245 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.061251 | controller | - ' ;;' 2025-10-01 14:13:51.061257 | controller | - ' esac' 2025-10-01 14:13:51.061265 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.061273 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.061281 | controller | - ' exit 1' 2025-10-01 14:13:51.061288 | controller | - ' fi' 2025-10-01 14:13:51.061294 | controller | - ' fi' 2025-10-01 14:13:51.061299 | controller | - ' done' 2025-10-01 14:13:51.061305 | controller | - ' ]' 2025-10-01 14:13:51.061311 | controller | - ' logger.go:42: 13:55:25 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.061317 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.061323 | controller | rely on' 2025-10-01 14:13:51.061328 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.061334 | controller | and checks that' 2025-10-01 14:13:51.061340 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.061346 | controller | pattern' 2025-10-01 14:13:51.061352 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.061358 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.061364 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.061369 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.061375 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.061385 | controller | - ' exit 0' 2025-10-01 14:13:51.061390 | controller | - ' else' 2025-10-01 14:13:51.061413 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.061424 | controller | - ' exit 1' 2025-10-01 14:13:51.061430 | controller | - ' fi' 2025-10-01 14:13:51.061435 | controller | - ' ' 2025-10-01 14:13:51.061441 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.061447 | controller | them with a script' 2025-10-01 14:13:51.061453 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.061459 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.061465 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.061471 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.061483 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.061495 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.061500 | controller | - ' # it is an image' 2025-10-01 14:13:51.061506 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.061512 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.061518 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.061524 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.061530 | controller | - ' case $NAME in' 2025-10-01 14:13:51.061535 | controller | - ' API)' 2025-10-01 14:13:51.061541 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.061547 | controller | - ' ;;' 2025-10-01 14:13:51.061553 | controller | - ' esac' 2025-10-01 14:13:51.061559 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.061564 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.061570 | controller | - ' exit 1' 2025-10-01 14:13:51.061576 | controller | - ' fi' 2025-10-01 14:13:51.061582 | controller | - ' fi' 2025-10-01 14:13:51.061588 | controller | - ' done' 2025-10-01 14:13:51.061593 | controller | - ' ]' 2025-10-01 14:13:51.061599 | controller | - ' logger.go:42: 13:55:27 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.061605 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.061611 | controller | rely on' 2025-10-01 14:13:51.061617 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.061622 | controller | and checks that' 2025-10-01 14:13:51.061637 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.061644 | controller | pattern' 2025-10-01 14:13:51.061650 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.061656 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.061661 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.061669 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.061687 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.061699 | controller | - ' exit 0' 2025-10-01 14:13:51.061707 | controller | - ' else' 2025-10-01 14:13:51.061714 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.061722 | controller | - ' exit 1' 2025-10-01 14:13:51.061730 | controller | - ' fi' 2025-10-01 14:13:51.061736 | controller | - ' ' 2025-10-01 14:13:51.061741 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.061747 | controller | them with a script' 2025-10-01 14:13:51.061753 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.061759 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.061764 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.061771 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.061779 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.061795 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.061802 | controller | - ' # it is an image' 2025-10-01 14:13:51.061810 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.061821 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.061827 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.061833 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.061839 | controller | - ' case $NAME in' 2025-10-01 14:13:51.061845 | controller | - ' API)' 2025-10-01 14:13:51.061851 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.061856 | controller | - ' ;;' 2025-10-01 14:13:51.061863 | controller | - ' esac' 2025-10-01 14:13:51.061871 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.061879 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.061887 | controller | - ' exit 1' 2025-10-01 14:13:51.061895 | controller | - ' fi' 2025-10-01 14:13:51.061902 | controller | - ' fi' 2025-10-01 14:13:51.061909 | controller | - ' done' 2025-10-01 14:13:51.061916 | controller | - ' ]' 2025-10-01 14:13:51.061922 | controller | - ' logger.go:42: 13:55:28 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.061928 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.061934 | controller | rely on' 2025-10-01 14:13:51.061939 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.061945 | controller | and checks that' 2025-10-01 14:13:51.061953 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.061961 | controller | pattern' 2025-10-01 14:13:51.061969 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.061976 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.061984 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.061991 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.061999 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.062006 | controller | - ' exit 0' 2025-10-01 14:13:51.062014 | controller | - ' else' 2025-10-01 14:13:51.062021 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.062027 | controller | - ' exit 1' 2025-10-01 14:13:51.062033 | controller | - ' fi' 2025-10-01 14:13:51.062041 | controller | - ' ' 2025-10-01 14:13:51.062048 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.062056 | controller | them with a script' 2025-10-01 14:13:51.062064 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.062071 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.062079 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.062086 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.062093 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.062108 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.062116 | controller | - ' # it is an image' 2025-10-01 14:13:51.062123 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.062131 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.062138 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.062146 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.062153 | controller | - ' case $NAME in' 2025-10-01 14:13:51.062165 | controller | - ' API)' 2025-10-01 14:13:51.062184 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.062192 | controller | - ' ;;' 2025-10-01 14:13:51.062200 | controller | - ' esac' 2025-10-01 14:13:51.062212 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.062220 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.062228 | controller | - ' exit 1' 2025-10-01 14:13:51.062235 | controller | - ' fi' 2025-10-01 14:13:51.062243 | controller | - ' fi' 2025-10-01 14:13:51.062250 | controller | - ' done' 2025-10-01 14:13:51.062258 | controller | - ' ]' 2025-10-01 14:13:51.062265 | controller | - ' logger.go:42: 13:55:29 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.062272 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.062280 | controller | rely on' 2025-10-01 14:13:51.062287 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.062295 | controller | and checks that' 2025-10-01 14:13:51.062303 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.062309 | controller | pattern' 2025-10-01 14:13:51.062316 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.062324 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.062331 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.062339 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.062346 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.062354 | controller | - ' exit 0' 2025-10-01 14:13:51.062361 | controller | - ' else' 2025-10-01 14:13:51.062369 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.062376 | controller | - ' exit 1' 2025-10-01 14:13:51.062384 | controller | - ' fi' 2025-10-01 14:13:51.062391 | controller | - ' ' 2025-10-01 14:13:51.062428 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.062436 | controller | them with a script' 2025-10-01 14:13:51.062444 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.062451 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.062459 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.062467 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.062474 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.062488 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.062495 | controller | - ' # it is an image' 2025-10-01 14:13:51.062502 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.062510 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.062518 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.062525 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.062532 | controller | - ' case $NAME in' 2025-10-01 14:13:51.062540 | controller | - ' API)' 2025-10-01 14:13:51.062548 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.062556 | controller | - ' ;;' 2025-10-01 14:13:51.062563 | controller | - ' esac' 2025-10-01 14:13:51.062571 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.062583 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.062591 | controller | - ' exit 1' 2025-10-01 14:13:51.062598 | controller | - ' fi' 2025-10-01 14:13:51.062606 | controller | - ' fi' 2025-10-01 14:13:51.062613 | controller | - ' done' 2025-10-01 14:13:51.062620 | controller | - ' ]' 2025-10-01 14:13:51.062628 | controller | - ' logger.go:42: 13:55:30 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.062636 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.062644 | controller | rely on' 2025-10-01 14:13:51.062651 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.062658 | controller | and checks that' 2025-10-01 14:13:51.062666 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.062673 | controller | pattern' 2025-10-01 14:13:51.062680 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.062688 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.062695 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.062703 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.062710 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.062718 | controller | - ' exit 0' 2025-10-01 14:13:51.062725 | controller | - ' else' 2025-10-01 14:13:51.062733 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.062740 | controller | - ' exit 1' 2025-10-01 14:13:51.062748 | controller | - ' fi' 2025-10-01 14:13:51.062755 | controller | - ' ' 2025-10-01 14:13:51.062763 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.062770 | controller | them with a script' 2025-10-01 14:13:51.062783 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.062791 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.062809 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.062817 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.062825 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.062839 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.062847 | controller | - ' # it is an image' 2025-10-01 14:13:51.062855 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.062862 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.062869 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.062877 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.062884 | controller | - ' case $NAME in' 2025-10-01 14:13:51.062892 | controller | - ' API)' 2025-10-01 14:13:51.062899 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.062906 | controller | - ' ;;' 2025-10-01 14:13:51.062913 | controller | - ' esac' 2025-10-01 14:13:51.062920 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.062927 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.062934 | controller | - ' exit 1' 2025-10-01 14:13:51.062941 | controller | - ' fi' 2025-10-01 14:13:51.062949 | controller | - ' fi' 2025-10-01 14:13:51.062956 | controller | - ' done' 2025-10-01 14:13:51.062964 | controller | - ' ]' 2025-10-01 14:13:51.062971 | controller | - ' logger.go:42: 13:55:32 | keystone_resources/0-deploy_keystone | running command: 2025-10-01 14:13:51.062983 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.062990 | controller | rely on' 2025-10-01 14:13:51.062997 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.063004 | controller | and checks that' 2025-10-01 14:13:51.063011 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.063019 | controller | pattern' 2025-10-01 14:13:51.063026 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.063033 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.063041 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.063049 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.063056 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.063063 | controller | - ' exit 0' 2025-10-01 14:13:51.063070 | controller | - ' else' 2025-10-01 14:13:51.063077 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.063084 | controller | - ' exit 1' 2025-10-01 14:13:51.063091 | controller | - ' fi' 2025-10-01 14:13:51.063098 | controller | - ' ' 2025-10-01 14:13:51.063105 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.063113 | controller | them with a script' 2025-10-01 14:13:51.063120 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.063128 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.063135 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.063142 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.063149 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.063164 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.063172 | controller | - ' # it is an image' 2025-10-01 14:13:51.063180 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.063188 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.063195 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.063203 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.063211 | controller | - ' case $NAME in' 2025-10-01 14:13:51.063219 | controller | - ' API)' 2025-10-01 14:13:51.063227 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.063235 | controller | - ' ;;' 2025-10-01 14:13:51.063243 | controller | - ' esac' 2025-10-01 14:13:51.063251 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.063259 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.063267 | controller | - ' exit 1' 2025-10-01 14:13:51.063275 | controller | - ' fi' 2025-10-01 14:13:51.063282 | controller | - ' fi' 2025-10-01 14:13:51.063291 | controller | - ' done' 2025-10-01 14:13:51.063299 | controller | - ' ]' 2025-10-01 14:13:51.063307 | controller | - ' logger.go:42: 13:55:32 | keystone_resources/0-deploy_keystone | test step completed 2025-10-01 14:13:51.063315 | controller | 0-deploy_keystone' 2025-10-01 14:13:51.063323 | controller | - ' logger.go:42: 13:55:32 | keystone_resources/1-deploy-keystoneservice | starting 2025-10-01 14:13:51.063330 | controller | test step 1-deploy-keystoneservice' 2025-10-01 14:13:51.063347 | controller | - ' logger.go:42: 13:55:32 | keystone_resources/1-deploy-keystoneservice | KeystoneService:keystone-kuttl-tests/placement 2025-10-01 14:13:51.063360 | controller | created' 2025-10-01 14:13:51.063368 | controller | - ' logger.go:42: 13:55:34 | keystone_resources/1-deploy-keystoneservice | test 2025-10-01 14:13:51.063376 | controller | step completed 1-deploy-keystoneservice' 2025-10-01 14:13:51.063398 | controller | - ' logger.go:42: 13:55:34 | keystone_resources/2-deploy-keystoneendpoint | starting 2025-10-01 14:13:51.063429 | controller | test step 2-deploy-keystoneendpoint' 2025-10-01 14:13:51.063437 | controller | - ' logger.go:42: 13:55:34 | keystone_resources/2-deploy-keystoneendpoint | KeystoneEndpoint:keystone-kuttl-tests/placement 2025-10-01 14:13:51.063445 | controller | created' 2025-10-01 14:13:51.063452 | controller | - ' logger.go:42: 13:55:45 | keystone_resources/2-deploy-keystoneendpoint | test 2025-10-01 14:13:51.063459 | controller | step completed 2-deploy-keystoneendpoint' 2025-10-01 14:13:51.063467 | controller | - ' logger.go:42: 13:55:45 | keystone_resources/3-cleanup-keystoneendpoint | starting 2025-10-01 14:13:51.063474 | controller | test step 3-cleanup-keystoneendpoint' 2025-10-01 14:13:51.063482 | controller | - ' logger.go:42: 13:55:46 | keystone_resources/3-cleanup-keystoneendpoint | test 2025-10-01 14:13:51.063489 | controller | step completed 3-cleanup-keystoneendpoint' 2025-10-01 14:13:51.063497 | controller | - ' logger.go:42: 13:55:46 | keystone_resources/4-cleanup-keystoneservice | starting 2025-10-01 14:13:51.063504 | controller | test step 4-cleanup-keystoneservice' 2025-10-01 14:13:51.063512 | controller | - ' logger.go:42: 13:55:47 | keystone_resources/4-cleanup-keystoneservice | test 2025-10-01 14:13:51.063519 | controller | step completed 4-cleanup-keystoneservice' 2025-10-01 14:13:51.063526 | controller | - ' logger.go:42: 13:55:47 | keystone_resources/5-cleanup-keystone | starting test 2025-10-01 14:13:51.063534 | controller | step 5-cleanup-keystone' 2025-10-01 14:13:51.063541 | controller | - ' logger.go:42: 13:55:51 | keystone_resources/5-cleanup-keystone | test step 2025-10-01 14:13:51.063549 | controller | completed 5-cleanup-keystone' 2025-10-01 14:13:51.063556 | controller | - ' logger.go:42: 13:55:51 | keystone_resources | skipping kubernetes event logging' 2025-10-01 14:13:51.063563 | controller | - === CONT kuttl/harness/keystone_tls 2025-10-01 14:13:51.063571 | controller | - ' logger.go:42: 13:55:51 | keystone_tls | Skipping creation of user-supplied 2025-10-01 14:13:51.063577 | controller | namespace: keystone-kuttl-tests' 2025-10-01 14:13:51.063582 | controller | - ' logger.go:42: 13:55:51 | keystone_tls/0-tls_ca_bundle | starting test step 2025-10-01 14:13:51.063588 | controller | 0-tls_ca_bundle' 2025-10-01 14:13:51.063594 | controller | - ' logger.go:42: 13:55:51 | keystone_tls/0-tls_ca_bundle | Secret:keystone-kuttl-tests/combined-ca-bundle 2025-10-01 14:13:51.063600 | controller | created' 2025-10-01 14:13:51.063606 | controller | - ' logger.go:42: 13:55:51 | keystone_tls/0-tls_ca_bundle | Secret:keystone-kuttl-tests/cert-keystone-internal-svc 2025-10-01 14:13:51.063612 | controller | created' 2025-10-01 14:13:51.063618 | controller | - ' logger.go:42: 13:55:51 | keystone_tls/0-tls_ca_bundle | Secret:keystone-kuttl-tests/cert-keystone-public-svc 2025-10-01 14:13:51.063623 | controller | created' 2025-10-01 14:13:51.063629 | controller | - ' logger.go:42: 13:55:51 | keystone_tls/0-tls_ca_bundle | test step completed 2025-10-01 14:13:51.063635 | controller | 0-tls_ca_bundle' 2025-10-01 14:13:51.063641 | controller | - ' logger.go:42: 13:55:51 | keystone_tls/1-keystoneapi_tls_deploy | starting test 2025-10-01 14:13:51.063647 | controller | step 1-keystoneapi_tls_deploy' 2025-10-01 14:13:51.063656 | controller | - ' logger.go:42: 13:55:51 | keystone_tls/1-keystoneapi_tls_deploy | KeystoneAPI:keystone-kuttl-tests/keystone 2025-10-01 14:13:51.063662 | controller | created' 2025-10-01 14:13:51.063668 | controller | - ' logger.go:42: 13:55:52 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.063674 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.063680 | controller | rely on' 2025-10-01 14:13:51.063686 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.063695 | controller | and checks that' 2025-10-01 14:13:51.063700 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.063706 | controller | pattern' 2025-10-01 14:13:51.063712 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.063718 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.063724 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.063730 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.063735 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.063741 | controller | - ' exit 0' 2025-10-01 14:13:51.063747 | controller | - ' else' 2025-10-01 14:13:51.063753 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.063759 | controller | - ' exit 1' 2025-10-01 14:13:51.063765 | controller | - ' fi' 2025-10-01 14:13:51.063770 | controller | - ' ]' 2025-10-01 14:13:51.063795 | controller | - ' logger.go:42: 13:55:52 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-10-01 14:13:51.063803 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.063810 | controller | - ' logger.go:42: 13:55:53 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.063816 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.063822 | controller | rely on' 2025-10-01 14:13:51.063828 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.063833 | controller | and checks that' 2025-10-01 14:13:51.063839 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.063845 | controller | pattern' 2025-10-01 14:13:51.063851 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.063857 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.063872 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.063878 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.063887 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.063893 | controller | - ' exit 0' 2025-10-01 14:13:51.063899 | controller | - ' else' 2025-10-01 14:13:51.063905 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.063913 | controller | - ' exit 1' 2025-10-01 14:13:51.063919 | controller | - ' fi' 2025-10-01 14:13:51.063925 | controller | - ' ]' 2025-10-01 14:13:51.063931 | controller | - ' logger.go:42: 13:55:53 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-10-01 14:13:51.063937 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.063942 | controller | - ' logger.go:42: 13:55:54 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.063948 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.063954 | controller | rely on' 2025-10-01 14:13:51.063960 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.063966 | controller | and checks that' 2025-10-01 14:13:51.063971 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.063977 | controller | pattern' 2025-10-01 14:13:51.063983 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.063989 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.063995 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.064003 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.064009 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.064018 | controller | - ' exit 0' 2025-10-01 14:13:51.064024 | controller | - ' else' 2025-10-01 14:13:51.064029 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.064035 | controller | - ' exit 1' 2025-10-01 14:13:51.064041 | controller | - ' fi' 2025-10-01 14:13:51.064047 | controller | - ' ]' 2025-10-01 14:13:51.064053 | controller | - ' logger.go:42: 13:55:54 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-10-01 14:13:51.064059 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.064064 | controller | - ' logger.go:42: 13:55:55 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.064070 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.064076 | controller | rely on' 2025-10-01 14:13:51.064082 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.064088 | controller | and checks that' 2025-10-01 14:13:51.064094 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.064101 | controller | pattern' 2025-10-01 14:13:51.064108 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.064114 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.064122 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.064127 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.064133 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.064139 | controller | - ' exit 0' 2025-10-01 14:13:51.064145 | controller | - ' else' 2025-10-01 14:13:51.064150 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.064156 | controller | - ' exit 1' 2025-10-01 14:13:51.064162 | controller | - ' fi' 2025-10-01 14:13:51.064168 | controller | - ' ]' 2025-10-01 14:13:51.064174 | controller | - ' logger.go:42: 13:55:55 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-10-01 14:13:51.064180 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.064185 | controller | - ' logger.go:42: 13:55:56 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.064191 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.064197 | controller | rely on' 2025-10-01 14:13:51.064203 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.064208 | controller | and checks that' 2025-10-01 14:13:51.064214 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.064220 | controller | pattern' 2025-10-01 14:13:51.064226 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.064232 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.064238 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.064243 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.064249 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.064255 | controller | - ' exit 0' 2025-10-01 14:13:51.064261 | controller | - ' else' 2025-10-01 14:13:51.064267 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.064273 | controller | - ' exit 1' 2025-10-01 14:13:51.064279 | controller | - ' fi' 2025-10-01 14:13:51.064284 | controller | - ' ]' 2025-10-01 14:13:51.064290 | controller | - ' logger.go:42: 13:55:56 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-10-01 14:13:51.064299 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.064312 | controller | - ' logger.go:42: 13:55:57 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.064318 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.064324 | controller | rely on' 2025-10-01 14:13:51.064330 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.064336 | controller | and checks that' 2025-10-01 14:13:51.064341 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.064347 | controller | pattern' 2025-10-01 14:13:51.064353 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.064359 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.064365 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.064371 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.064376 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.064382 | controller | - ' exit 0' 2025-10-01 14:13:51.064388 | controller | - ' else' 2025-10-01 14:13:51.064394 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.064416 | controller | - ' exit 1' 2025-10-01 14:13:51.064422 | controller | - ' fi' 2025-10-01 14:13:51.064428 | controller | - ' ]' 2025-10-01 14:13:51.064434 | controller | - ' logger.go:42: 13:55:58 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-10-01 14:13:51.064441 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.064447 | controller | - ' logger.go:42: 13:55:59 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.064452 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.064458 | controller | rely on' 2025-10-01 14:13:51.064464 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.064470 | controller | and checks that' 2025-10-01 14:13:51.064476 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.064482 | controller | pattern' 2025-10-01 14:13:51.064487 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.064493 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.064499 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.064505 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.064510 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.064516 | controller | - ' exit 0' 2025-10-01 14:13:51.064522 | controller | - ' else' 2025-10-01 14:13:51.064528 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.064534 | controller | - ' exit 1' 2025-10-01 14:13:51.064540 | controller | - ' fi' 2025-10-01 14:13:51.064545 | controller | - ' ]' 2025-10-01 14:13:51.064551 | controller | - ' logger.go:42: 13:55:59 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-10-01 14:13:51.064557 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.064566 | controller | - ' logger.go:42: 13:56:00 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.064572 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.064577 | controller | rely on' 2025-10-01 14:13:51.064583 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.064589 | controller | and checks that' 2025-10-01 14:13:51.064595 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.064603 | controller | pattern' 2025-10-01 14:13:51.064609 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.064615 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.064621 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.064627 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.064634 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.064641 | controller | - ' exit 0' 2025-10-01 14:13:51.064649 | controller | - ' else' 2025-10-01 14:13:51.064657 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.064664 | controller | - ' exit 1' 2025-10-01 14:13:51.064672 | controller | - ' fi' 2025-10-01 14:13:51.064680 | controller | - ' ]' 2025-10-01 14:13:51.064686 | controller | - ' logger.go:42: 13:56:00 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-10-01 14:13:51.064692 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.064698 | controller | - ' logger.go:42: 13:56:01 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.064704 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.064710 | controller | rely on' 2025-10-01 14:13:51.064716 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.064721 | controller | and checks that' 2025-10-01 14:13:51.064727 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.064734 | controller | pattern' 2025-10-01 14:13:51.064742 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.064749 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.064769 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.064777 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.064785 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.064792 | controller | - ' exit 0' 2025-10-01 14:13:51.064799 | controller | - ' else' 2025-10-01 14:13:51.064806 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.064813 | controller | - ' exit 1' 2025-10-01 14:13:51.064820 | controller | - ' fi' 2025-10-01 14:13:51.064828 | controller | - ' ]' 2025-10-01 14:13:51.064835 | controller | - ' logger.go:42: 13:56:01 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-10-01 14:13:51.064843 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.064851 | controller | - ' logger.go:42: 13:56:02 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.064859 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.064866 | controller | rely on' 2025-10-01 14:13:51.064874 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.064881 | controller | and checks that' 2025-10-01 14:13:51.064887 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.064893 | controller | pattern' 2025-10-01 14:13:51.064899 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.064904 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.064911 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.064918 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.064931 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.064939 | controller | - ' exit 0' 2025-10-01 14:13:51.064946 | controller | - ' else' 2025-10-01 14:13:51.064954 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.064961 | controller | - ' exit 1' 2025-10-01 14:13:51.064969 | controller | - ' fi' 2025-10-01 14:13:51.064976 | controller | - ' ]' 2025-10-01 14:13:51.064983 | controller | - ' logger.go:42: 13:56:02 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-10-01 14:13:51.064990 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.064996 | controller | - ' logger.go:42: 13:56:03 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.065003 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.065011 | controller | rely on' 2025-10-01 14:13:51.065018 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.065026 | controller | and checks that' 2025-10-01 14:13:51.065038 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.065046 | controller | pattern' 2025-10-01 14:13:51.065053 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.065061 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.065068 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.065076 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.065083 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.065091 | controller | - ' exit 0' 2025-10-01 14:13:51.065098 | controller | - ' else' 2025-10-01 14:13:51.065106 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.065114 | controller | - ' exit 1' 2025-10-01 14:13:51.065121 | controller | - ' fi' 2025-10-01 14:13:51.065129 | controller | - ' ]' 2025-10-01 14:13:51.065136 | controller | - ' logger.go:42: 13:56:03 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-10-01 14:13:51.065144 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.065151 | controller | - ' logger.go:42: 13:56:04 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.065159 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.065166 | controller | rely on' 2025-10-01 14:13:51.065174 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.065181 | controller | and checks that' 2025-10-01 14:13:51.065189 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.065196 | controller | pattern' 2025-10-01 14:13:51.065204 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.065215 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.065222 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.065230 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.065237 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.065251 | controller | - ' exit 0' 2025-10-01 14:13:51.065258 | controller | - ' else' 2025-10-01 14:13:51.065266 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.065274 | controller | - ' exit 1' 2025-10-01 14:13:51.065281 | controller | - ' fi' 2025-10-01 14:13:51.065289 | controller | - ' ]' 2025-10-01 14:13:51.065300 | controller | - ' logger.go:42: 13:56:05 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-10-01 14:13:51.065307 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.065318 | controller | - ' logger.go:42: 13:56:06 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.065337 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.065346 | controller | rely on' 2025-10-01 14:13:51.065354 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.065362 | controller | and checks that' 2025-10-01 14:13:51.065369 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.065377 | controller | pattern' 2025-10-01 14:13:51.065386 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.065397 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.065425 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.065433 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.065440 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.065448 | controller | - ' exit 0' 2025-10-01 14:13:51.065455 | controller | - ' else' 2025-10-01 14:13:51.065463 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.065470 | controller | - ' exit 1' 2025-10-01 14:13:51.065477 | controller | - ' fi' 2025-10-01 14:13:51.065485 | controller | - ' ]' 2025-10-01 14:13:51.065492 | controller | - ' logger.go:42: 13:56:06 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-10-01 14:13:51.065500 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.065507 | controller | - ' logger.go:42: 13:56:07 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.065519 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.065528 | controller | rely on' 2025-10-01 14:13:51.065535 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.065543 | controller | and checks that' 2025-10-01 14:13:51.065550 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.065558 | controller | pattern' 2025-10-01 14:13:51.065567 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.065575 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.065582 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.065590 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.065598 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.065606 | controller | - ' exit 0' 2025-10-01 14:13:51.065614 | controller | - ' else' 2025-10-01 14:13:51.065621 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.065629 | controller | - ' exit 1' 2025-10-01 14:13:51.065636 | controller | - ' fi' 2025-10-01 14:13:51.065644 | controller | - ' ]' 2025-10-01 14:13:51.065655 | controller | - ' logger.go:42: 13:56:07 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-10-01 14:13:51.065662 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.065670 | controller | - ' logger.go:42: 13:56:08 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.065678 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.065685 | controller | rely on' 2025-10-01 14:13:51.065693 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.065701 | controller | and checks that' 2025-10-01 14:13:51.065708 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.065715 | controller | pattern' 2025-10-01 14:13:51.065727 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.065755 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.065762 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.065770 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.065777 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.065784 | controller | - ' exit 0' 2025-10-01 14:13:51.065790 | controller | - ' else' 2025-10-01 14:13:51.065796 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.065801 | controller | - ' exit 1' 2025-10-01 14:13:51.065807 | controller | - ' fi' 2025-10-01 14:13:51.065813 | controller | - ' ]' 2025-10-01 14:13:51.065819 | controller | - ' logger.go:42: 13:56:08 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-10-01 14:13:51.065825 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.065831 | controller | - ' logger.go:42: 13:56:09 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.065836 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.065842 | controller | rely on' 2025-10-01 14:13:51.065848 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.065854 | controller | and checks that' 2025-10-01 14:13:51.065860 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.065866 | controller | pattern' 2025-10-01 14:13:51.065871 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.065877 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.065883 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.065901 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.065910 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.065918 | controller | - ' exit 0' 2025-10-01 14:13:51.065925 | controller | - ' else' 2025-10-01 14:13:51.065933 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.065940 | controller | - ' exit 1' 2025-10-01 14:13:51.065946 | controller | - ' fi' 2025-10-01 14:13:51.065951 | controller | - ' ]' 2025-10-01 14:13:51.065957 | controller | - ' logger.go:42: 13:56:09 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-10-01 14:13:51.065963 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.065969 | controller | - ' logger.go:42: 13:56:10 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.065975 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.065982 | controller | rely on' 2025-10-01 14:13:51.065990 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.065997 | controller | and checks that' 2025-10-01 14:13:51.066005 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.066012 | controller | pattern' 2025-10-01 14:13:51.066020 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.066027 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.066035 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.066042 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.066050 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.066058 | controller | - ' exit 0' 2025-10-01 14:13:51.066070 | controller | - ' else' 2025-10-01 14:13:51.066078 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.066086 | controller | - ' exit 1' 2025-10-01 14:13:51.066093 | controller | - ' fi' 2025-10-01 14:13:51.066100 | controller | - ' ]' 2025-10-01 14:13:51.066107 | controller | - ' logger.go:42: 13:56:11 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-10-01 14:13:51.066115 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.066122 | controller | - ' logger.go:42: 13:56:12 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.066129 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.066137 | controller | rely on' 2025-10-01 14:13:51.066144 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.066152 | controller | and checks that' 2025-10-01 14:13:51.066160 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.066167 | controller | pattern' 2025-10-01 14:13:51.066175 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.066183 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.066190 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.066198 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.066205 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.066213 | controller | - ' exit 0' 2025-10-01 14:13:51.066221 | controller | - ' else' 2025-10-01 14:13:51.066228 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.066236 | controller | - ' exit 1' 2025-10-01 14:13:51.066244 | controller | - ' fi' 2025-10-01 14:13:51.066252 | controller | - ' ]' 2025-10-01 14:13:51.066259 | controller | - ' logger.go:42: 13:56:12 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-10-01 14:13:51.066267 | controller | URLS: : do not match regex' 2025-10-01 14:13:51.066275 | controller | - ' logger.go:42: 13:56:13 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.066282 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.066290 | controller | rely on' 2025-10-01 14:13:51.066297 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.066305 | controller | and checks that' 2025-10-01 14:13:51.066312 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.066320 | controller | pattern' 2025-10-01 14:13:51.066328 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.066336 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.066343 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.066356 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.066364 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.066371 | controller | - ' exit 0' 2025-10-01 14:13:51.066379 | controller | - ' else' 2025-10-01 14:13:51.066387 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.066412 | controller | - ' exit 1' 2025-10-01 14:13:51.066426 | controller | - ' fi' 2025-10-01 14:13:51.066434 | controller | - ' ]' 2025-10-01 14:13:51.066442 | controller | - ' logger.go:42: 13:56:14 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.066449 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.066457 | controller | rely on' 2025-10-01 14:13:51.066469 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.066476 | controller | and checks that' 2025-10-01 14:13:51.066498 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.066508 | controller | pattern' 2025-10-01 14:13:51.066516 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.066524 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.066531 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.066539 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.066546 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.066554 | controller | - ' exit 0' 2025-10-01 14:13:51.066561 | controller | - ' else' 2025-10-01 14:13:51.066569 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.066576 | controller | - ' exit 1' 2025-10-01 14:13:51.066584 | controller | - ' fi' 2025-10-01 14:13:51.066592 | controller | - ' ]' 2025-10-01 14:13:51.066599 | controller | - ' logger.go:42: 13:56:15 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.066606 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.066614 | controller | rely on' 2025-10-01 14:13:51.066621 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.066629 | controller | and checks that' 2025-10-01 14:13:51.066636 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.066644 | controller | pattern' 2025-10-01 14:13:51.066651 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.066659 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.066671 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.066679 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.066687 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.066695 | controller | - ' exit 0' 2025-10-01 14:13:51.066702 | controller | - ' else' 2025-10-01 14:13:51.066710 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.066718 | controller | - ' exit 1' 2025-10-01 14:13:51.066725 | controller | - ' fi' 2025-10-01 14:13:51.066733 | controller | - ' ]' 2025-10-01 14:13:51.066740 | controller | - ' logger.go:42: 13:56:16 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.066748 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.066756 | controller | rely on' 2025-10-01 14:13:51.066763 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.066771 | controller | and checks that' 2025-10-01 14:13:51.066778 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.066786 | controller | pattern' 2025-10-01 14:13:51.066793 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.066801 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.066808 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.066816 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.066823 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.066830 | controller | - ' exit 0' 2025-10-01 14:13:51.066838 | controller | - ' else' 2025-10-01 14:13:51.066850 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.066858 | controller | - ' exit 1' 2025-10-01 14:13:51.066865 | controller | - ' fi' 2025-10-01 14:13:51.066873 | controller | - ' ]' 2025-10-01 14:13:51.066880 | controller | - ' logger.go:42: 13:56:18 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.066888 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.066895 | controller | rely on' 2025-10-01 14:13:51.066903 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.066911 | controller | and checks that' 2025-10-01 14:13:51.066918 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.066925 | controller | pattern' 2025-10-01 14:13:51.066933 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.066940 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.066948 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.066955 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.066961 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.066967 | controller | - ' exit 0' 2025-10-01 14:13:51.066973 | controller | - ' else' 2025-10-01 14:13:51.066983 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.066989 | controller | - ' exit 1' 2025-10-01 14:13:51.066994 | controller | - ' fi' 2025-10-01 14:13:51.067000 | controller | - ' ]' 2025-10-01 14:13:51.067006 | controller | - ' logger.go:42: 13:56:19 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.067012 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.067017 | controller | rely on' 2025-10-01 14:13:51.067023 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.067029 | controller | and checks that' 2025-10-01 14:13:51.067046 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.067052 | controller | pattern' 2025-10-01 14:13:51.067058 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.067064 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.067070 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.067076 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.067081 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.067088 | controller | - ' exit 0' 2025-10-01 14:13:51.067095 | controller | - ' else' 2025-10-01 14:13:51.067101 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.067108 | controller | - ' exit 1' 2025-10-01 14:13:51.067115 | controller | - ' fi' 2025-10-01 14:13:51.067121 | controller | - ' ]' 2025-10-01 14:13:51.067127 | controller | - ' logger.go:42: 13:56:20 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.067133 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.067139 | controller | rely on' 2025-10-01 14:13:51.067145 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.067151 | controller | and checks that' 2025-10-01 14:13:51.067157 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.067163 | controller | pattern' 2025-10-01 14:13:51.067169 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.067178 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.067183 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.067189 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.067195 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.067201 | controller | - ' exit 0' 2025-10-01 14:13:51.067207 | controller | - ' else' 2025-10-01 14:13:51.067212 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.067218 | controller | - ' exit 1' 2025-10-01 14:13:51.067224 | controller | - ' fi' 2025-10-01 14:13:51.067230 | controller | - ' ]' 2025-10-01 14:13:51.067236 | controller | - ' logger.go:42: 13:56:21 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.067241 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.067247 | controller | rely on' 2025-10-01 14:13:51.067253 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.067259 | controller | and checks that' 2025-10-01 14:13:51.067265 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.067270 | controller | pattern' 2025-10-01 14:13:51.067276 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.067282 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.067288 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.067294 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.067299 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.067305 | controller | - ' exit 0' 2025-10-01 14:13:51.067311 | controller | - ' else' 2025-10-01 14:13:51.067317 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.067323 | controller | - ' exit 1' 2025-10-01 14:13:51.067329 | controller | - ' fi' 2025-10-01 14:13:51.067334 | controller | - ' ]' 2025-10-01 14:13:51.067340 | controller | - ' logger.go:42: 13:56:22 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.067346 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.067352 | controller | rely on' 2025-10-01 14:13:51.067357 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.067363 | controller | and checks that' 2025-10-01 14:13:51.067369 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.067375 | controller | pattern' 2025-10-01 14:13:51.067381 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.067387 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.067392 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.067423 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.067431 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.067439 | controller | - ' exit 0' 2025-10-01 14:13:51.067447 | controller | - ' else' 2025-10-01 14:13:51.067454 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.067461 | controller | - ' exit 1' 2025-10-01 14:13:51.067469 | controller | - ' fi' 2025-10-01 14:13:51.067476 | controller | - ' ]' 2025-10-01 14:13:51.067484 | controller | - ' logger.go:42: 13:56:23 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.067491 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.067503 | controller | rely on' 2025-10-01 14:13:51.067518 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.067526 | controller | and checks that' 2025-10-01 14:13:51.067545 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.067554 | controller | pattern' 2025-10-01 14:13:51.067561 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.067569 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.067577 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.067585 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.067592 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.067600 | controller | - ' exit 0' 2025-10-01 14:13:51.067607 | controller | - ' else' 2025-10-01 14:13:51.067615 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.067622 | controller | - ' exit 1' 2025-10-01 14:13:51.067630 | controller | - ' fi' 2025-10-01 14:13:51.067637 | controller | - ' ]' 2025-10-01 14:13:51.067645 | controller | - ' logger.go:42: 13:56:25 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.067653 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.067660 | controller | rely on' 2025-10-01 14:13:51.067668 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.067676 | controller | and checks that' 2025-10-01 14:13:51.067684 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.067691 | controller | pattern' 2025-10-01 14:13:51.067699 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.067707 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.067715 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.067722 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.067730 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.067738 | controller | - ' exit 0' 2025-10-01 14:13:51.067745 | controller | - ' else' 2025-10-01 14:13:51.067753 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.067761 | controller | - ' exit 1' 2025-10-01 14:13:51.067768 | controller | - ' fi' 2025-10-01 14:13:51.067776 | controller | - ' ]' 2025-10-01 14:13:51.067784 | controller | - ' logger.go:42: 13:56:26 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.067807 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.067814 | controller | rely on' 2025-10-01 14:13:51.067822 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.067830 | controller | and checks that' 2025-10-01 14:13:51.067838 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.067846 | controller | pattern' 2025-10-01 14:13:51.067853 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.067861 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.067869 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.067876 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.067889 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.067896 | controller | - ' exit 0' 2025-10-01 14:13:51.067908 | controller | - ' else' 2025-10-01 14:13:51.067916 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.067924 | controller | - ' exit 1' 2025-10-01 14:13:51.067932 | controller | - ' fi' 2025-10-01 14:13:51.067939 | controller | - ' ]' 2025-10-01 14:13:51.067947 | controller | - ' logger.go:42: 13:56:27 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.067955 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.067963 | controller | rely on' 2025-10-01 14:13:51.067970 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.067978 | controller | and checks that' 2025-10-01 14:13:51.067986 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.067993 | controller | pattern' 2025-10-01 14:13:51.068001 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.068009 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.068016 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.068024 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.068031 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.068039 | controller | - ' exit 0' 2025-10-01 14:13:51.068047 | controller | - ' else' 2025-10-01 14:13:51.068054 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.068062 | controller | - ' exit 1' 2025-10-01 14:13:51.068070 | controller | - ' fi' 2025-10-01 14:13:51.068078 | controller | - ' ]' 2025-10-01 14:13:51.068085 | controller | - ' logger.go:42: 13:56:28 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.068093 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.068101 | controller | rely on' 2025-10-01 14:13:51.068109 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.068116 | controller | and checks that' 2025-10-01 14:13:51.068136 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.068145 | controller | pattern' 2025-10-01 14:13:51.068153 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.068161 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.068168 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.068176 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.068183 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.068191 | controller | - ' exit 0' 2025-10-01 14:13:51.068199 | controller | - ' else' 2025-10-01 14:13:51.068206 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.068214 | controller | - ' exit 1' 2025-10-01 14:13:51.068222 | controller | - ' fi' 2025-10-01 14:13:51.068230 | controller | - ' ]' 2025-10-01 14:13:51.068238 | controller | - ' logger.go:42: 13:56:29 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.068245 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.068253 | controller | rely on' 2025-10-01 14:13:51.068261 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.068268 | controller | and checks that' 2025-10-01 14:13:51.068276 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.068284 | controller | pattern' 2025-10-01 14:13:51.068292 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.068305 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.068313 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.068321 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.068329 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.068337 | controller | - ' exit 0' 2025-10-01 14:13:51.068345 | controller | - ' else' 2025-10-01 14:13:51.068353 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.068361 | controller | - ' exit 1' 2025-10-01 14:13:51.068369 | controller | - ' fi' 2025-10-01 14:13:51.068377 | controller | - ' ]' 2025-10-01 14:13:51.068389 | controller | - ' logger.go:42: 13:56:31 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.068414 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.068428 | controller | rely on' 2025-10-01 14:13:51.068436 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.068444 | controller | and checks that' 2025-10-01 14:13:51.068452 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.068460 | controller | pattern' 2025-10-01 14:13:51.068468 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.068476 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.068484 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.068492 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.068500 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.068508 | controller | - ' exit 0' 2025-10-01 14:13:51.068516 | controller | - ' else' 2025-10-01 14:13:51.068524 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.068532 | controller | - ' exit 1' 2025-10-01 14:13:51.068539 | controller | - ' fi' 2025-10-01 14:13:51.068547 | controller | - ' ]' 2025-10-01 14:13:51.068555 | controller | - ' logger.go:42: 13:56:32 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.068563 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.068570 | controller | rely on' 2025-10-01 14:13:51.068578 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.068586 | controller | and checks that' 2025-10-01 14:13:51.068594 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.068602 | controller | pattern' 2025-10-01 14:13:51.068610 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.068618 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.068626 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.068633 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.068641 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.068649 | controller | - ' exit 0' 2025-10-01 14:13:51.068657 | controller | - ' else' 2025-10-01 14:13:51.068665 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.068673 | controller | - ' exit 1' 2025-10-01 14:13:51.068680 | controller | - ' fi' 2025-10-01 14:13:51.068687 | controller | - ' ]' 2025-10-01 14:13:51.068694 | controller | - ' logger.go:42: 13:56:33 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.068706 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.068718 | controller | rely on' 2025-10-01 14:13:51.068726 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.068733 | controller | and checks that' 2025-10-01 14:13:51.068752 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.068760 | controller | pattern' 2025-10-01 14:13:51.068767 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.068774 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.068782 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.068789 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.068797 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.068805 | controller | - ' exit 0' 2025-10-01 14:13:51.068812 | controller | - ' else' 2025-10-01 14:13:51.068819 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.068826 | controller | - ' exit 1' 2025-10-01 14:13:51.068833 | controller | - ' fi' 2025-10-01 14:13:51.068841 | controller | - ' ]' 2025-10-01 14:13:51.068848 | controller | - ' logger.go:42: 13:56:34 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.068855 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.068863 | controller | rely on' 2025-10-01 14:13:51.068871 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.068878 | controller | and checks that' 2025-10-01 14:13:51.068886 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.068893 | controller | pattern' 2025-10-01 14:13:51.068900 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.068907 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.068915 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.068926 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.068934 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.068941 | controller | - ' exit 0' 2025-10-01 14:13:51.068948 | controller | - ' else' 2025-10-01 14:13:51.068956 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.068964 | controller | - ' exit 1' 2025-10-01 14:13:51.068971 | controller | - ' fi' 2025-10-01 14:13:51.068978 | controller | - ' ]' 2025-10-01 14:13:51.068986 | controller | - ' logger.go:42: 13:56:35 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.068994 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.069001 | controller | rely on' 2025-10-01 14:13:51.069009 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.069017 | controller | and checks that' 2025-10-01 14:13:51.069024 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.069032 | controller | pattern' 2025-10-01 14:13:51.069040 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.069048 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.069055 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.069063 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.069069 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.069078 | controller | - ' exit 0' 2025-10-01 14:13:51.069084 | controller | - ' else' 2025-10-01 14:13:51.069090 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.069096 | controller | - ' exit 1' 2025-10-01 14:13:51.069102 | controller | - ' fi' 2025-10-01 14:13:51.069110 | controller | - ' ]' 2025-10-01 14:13:51.069118 | controller | - ' logger.go:42: 13:56:36 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.069126 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.069133 | controller | rely on' 2025-10-01 14:13:51.069141 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.069148 | controller | and checks that' 2025-10-01 14:13:51.069155 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.069161 | controller | pattern' 2025-10-01 14:13:51.069167 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.069173 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.069179 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.069185 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.069191 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.069196 | controller | - ' exit 0' 2025-10-01 14:13:51.069202 | controller | - ' else' 2025-10-01 14:13:51.069209 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.069215 | controller | - ' exit 1' 2025-10-01 14:13:51.069221 | controller | - ' fi' 2025-10-01 14:13:51.069226 | controller | - ' ]' 2025-10-01 14:13:51.069232 | controller | - ' logger.go:42: 13:56:38 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.069238 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.069244 | controller | rely on' 2025-10-01 14:13:51.069250 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.069255 | controller | and checks that' 2025-10-01 14:13:51.069272 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.069278 | controller | pattern' 2025-10-01 14:13:51.069284 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.069294 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.069300 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.069306 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.069312 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.069318 | controller | - ' exit 0' 2025-10-01 14:13:51.069324 | controller | - ' else' 2025-10-01 14:13:51.069329 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.069335 | controller | - ' exit 1' 2025-10-01 14:13:51.069341 | controller | - ' fi' 2025-10-01 14:13:51.069347 | controller | - ' ]' 2025-10-01 14:13:51.069352 | controller | - ' logger.go:42: 13:56:39 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.069358 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.069364 | controller | rely on' 2025-10-01 14:13:51.069370 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.069376 | controller | and checks that' 2025-10-01 14:13:51.069381 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.069387 | controller | pattern' 2025-10-01 14:13:51.069443 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.069453 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.069459 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.069465 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.069471 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.069476 | controller | - ' exit 0' 2025-10-01 14:13:51.069482 | controller | - ' else' 2025-10-01 14:13:51.069488 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.069494 | controller | - ' exit 1' 2025-10-01 14:13:51.069500 | controller | - ' fi' 2025-10-01 14:13:51.069506 | controller | - ' ]' 2025-10-01 14:13:51.069512 | controller | - ' logger.go:42: 13:56:40 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.069519 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.069527 | controller | rely on' 2025-10-01 14:13:51.069535 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.069542 | controller | and checks that' 2025-10-01 14:13:51.069550 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.069558 | controller | pattern' 2025-10-01 14:13:51.069565 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.069571 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.069577 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.069583 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.069589 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.069594 | controller | - ' exit 0' 2025-10-01 14:13:51.069600 | controller | - ' else' 2025-10-01 14:13:51.069606 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.069612 | controller | - ' exit 1' 2025-10-01 14:13:51.069621 | controller | - ' fi' 2025-10-01 14:13:51.069627 | controller | - ' ]' 2025-10-01 14:13:51.069633 | controller | - ' logger.go:42: 13:56:41 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.069639 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.069645 | controller | rely on' 2025-10-01 14:13:51.069650 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.069656 | controller | and checks that' 2025-10-01 14:13:51.069662 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.069668 | controller | pattern' 2025-10-01 14:13:51.069674 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.069679 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.069685 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.069691 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.069697 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.069703 | controller | - ' exit 0' 2025-10-01 14:13:51.069708 | controller | - ' else' 2025-10-01 14:13:51.069714 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.069720 | controller | - ' exit 1' 2025-10-01 14:13:51.069726 | controller | - ' fi' 2025-10-01 14:13:51.069732 | controller | - ' ]' 2025-10-01 14:13:51.069740 | controller | - ' logger.go:42: 13:56:42 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.069749 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.069755 | controller | rely on' 2025-10-01 14:13:51.069761 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.069767 | controller | and checks that' 2025-10-01 14:13:51.069782 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.069788 | controller | pattern' 2025-10-01 14:13:51.069795 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.069801 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.069807 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.069813 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.069819 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.069825 | controller | - ' exit 0' 2025-10-01 14:13:51.069830 | controller | - ' else' 2025-10-01 14:13:51.069839 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.069845 | controller | - ' exit 1' 2025-10-01 14:13:51.069851 | controller | - ' fi' 2025-10-01 14:13:51.069857 | controller | - ' ]' 2025-10-01 14:13:51.069862 | controller | - ' logger.go:42: 13:56:43 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.069868 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.069874 | controller | rely on' 2025-10-01 14:13:51.069880 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.069886 | controller | and checks that' 2025-10-01 14:13:51.069892 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.069897 | controller | pattern' 2025-10-01 14:13:51.069903 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.069909 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.069915 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.069921 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.069927 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.069932 | controller | - ' exit 0' 2025-10-01 14:13:51.069938 | controller | - ' else' 2025-10-01 14:13:51.069944 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.069950 | controller | - ' exit 1' 2025-10-01 14:13:51.069956 | controller | - ' fi' 2025-10-01 14:13:51.069961 | controller | - ' ]' 2025-10-01 14:13:51.069967 | controller | - ' logger.go:42: 13:56:45 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.069973 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.069979 | controller | rely on' 2025-10-01 14:13:51.069985 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.069991 | controller | and checks that' 2025-10-01 14:13:51.069996 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.070002 | controller | pattern' 2025-10-01 14:13:51.070008 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.070014 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.070019 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.070025 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.070037 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.070042 | controller | - ' exit 0' 2025-10-01 14:13:51.070048 | controller | - ' else' 2025-10-01 14:13:51.070054 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.070060 | controller | - ' exit 1' 2025-10-01 14:13:51.070066 | controller | - ' fi' 2025-10-01 14:13:51.070072 | controller | - ' ]' 2025-10-01 14:13:51.070077 | controller | - ' logger.go:42: 13:56:46 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.070083 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.070089 | controller | rely on' 2025-10-01 14:13:51.070095 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.070101 | controller | and checks that' 2025-10-01 14:13:51.070106 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.070112 | controller | pattern' 2025-10-01 14:13:51.070118 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.070124 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.070130 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.070135 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.070141 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.070147 | controller | - ' exit 0' 2025-10-01 14:13:51.070153 | controller | - ' else' 2025-10-01 14:13:51.070159 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.070164 | controller | - ' exit 1' 2025-10-01 14:13:51.070170 | controller | - ' fi' 2025-10-01 14:13:51.070176 | controller | - ' ]' 2025-10-01 14:13:51.070182 | controller | - ' logger.go:42: 13:56:47 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.070188 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.070194 | controller | rely on' 2025-10-01 14:13:51.070199 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.070205 | controller | and checks that' 2025-10-01 14:13:51.070218 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.070225 | controller | pattern' 2025-10-01 14:13:51.070230 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.070236 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.070242 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.070248 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.070254 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.070260 | controller | - ' exit 0' 2025-10-01 14:13:51.070265 | controller | - ' else' 2025-10-01 14:13:51.070271 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.070277 | controller | - ' exit 1' 2025-10-01 14:13:51.070283 | controller | - ' fi' 2025-10-01 14:13:51.070289 | controller | - ' ]' 2025-10-01 14:13:51.070295 | controller | - ' logger.go:42: 13:56:48 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.070300 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.070306 | controller | rely on' 2025-10-01 14:13:51.070312 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.070318 | controller | and checks that' 2025-10-01 14:13:51.070324 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.070332 | controller | pattern' 2025-10-01 14:13:51.070338 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.070344 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.070352 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.070358 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.070364 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.070370 | controller | - ' exit 0' 2025-10-01 14:13:51.070376 | controller | - ' else' 2025-10-01 14:13:51.070381 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.070387 | controller | - ' exit 1' 2025-10-01 14:13:51.070393 | controller | - ' fi' 2025-10-01 14:13:51.070417 | controller | - ' ]' 2025-10-01 14:13:51.070423 | controller | - ' logger.go:42: 13:56:49 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.070429 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.070435 | controller | rely on' 2025-10-01 14:13:51.070444 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.070450 | controller | and checks that' 2025-10-01 14:13:51.070456 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.070462 | controller | pattern' 2025-10-01 14:13:51.070468 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.070474 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.070480 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.070485 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.070491 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.070497 | controller | - ' exit 0' 2025-10-01 14:13:51.070503 | controller | - ' else' 2025-10-01 14:13:51.070509 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.070515 | controller | - ' exit 1' 2025-10-01 14:13:51.070521 | controller | - ' fi' 2025-10-01 14:13:51.070527 | controller | - ' ]' 2025-10-01 14:13:51.070533 | controller | - ' logger.go:42: 13:56:50 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.070539 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.070544 | controller | rely on' 2025-10-01 14:13:51.070550 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.070556 | controller | and checks that' 2025-10-01 14:13:51.070566 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.070572 | controller | pattern' 2025-10-01 14:13:51.070578 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.070584 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.070590 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.070597 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.070605 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.070613 | controller | - ' exit 0' 2025-10-01 14:13:51.070621 | controller | - ' else' 2025-10-01 14:13:51.070629 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.070636 | controller | - ' exit 1' 2025-10-01 14:13:51.070643 | controller | - ' fi' 2025-10-01 14:13:51.070651 | controller | - ' ]' 2025-10-01 14:13:51.070658 | controller | - ' logger.go:42: 13:56:52 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-10-01 14:13:51.070670 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.070677 | controller | rely on' 2025-10-01 14:13:51.070685 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.070692 | controller | and checks that' 2025-10-01 14:13:51.070699 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.070719 | controller | pattern' 2025-10-01 14:13:51.070727 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.070735 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.070743 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.070750 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.070758 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.070765 | controller | - ' exit 0' 2025-10-01 14:13:51.070773 | controller | - ' else' 2025-10-01 14:13:51.070781 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.070788 | controller | - ' exit 1' 2025-10-01 14:13:51.070796 | controller | - ' fi' 2025-10-01 14:13:51.070803 | controller | - ' ]' 2025-10-01 14:13:51.070811 | controller | - ' logger.go:42: 13:56:52 | keystone_tls/1-keystoneapi_tls_deploy | test step 2025-10-01 14:13:51.070818 | controller | completed 1-keystoneapi_tls_deploy' 2025-10-01 14:13:51.070826 | controller | - ' logger.go:42: 13:56:52 | keystone_tls/2-cleanup-keystone | starting test step 2025-10-01 14:13:51.070834 | controller | 2-cleanup-keystone' 2025-10-01 14:13:51.070842 | controller | - ' logger.go:42: 13:56:56 | keystone_tls/2-cleanup-keystone | test step completed 2025-10-01 14:13:51.070849 | controller | 2-cleanup-keystone' 2025-10-01 14:13:51.070857 | controller | - ' logger.go:42: 13:56:56 | keystone_tls | skipping kubernetes event logging' 2025-10-01 14:13:51.070865 | controller | - === CONT kuttl/harness/keystone_scale 2025-10-01 14:13:51.070873 | controller | - ' logger.go:42: 13:56:56 | keystone_scale | Skipping creation of user-supplied 2025-10-01 14:13:51.070880 | controller | namespace: keystone-kuttl-tests' 2025-10-01 14:13:51.070888 | controller | - ' logger.go:42: 13:56:56 | keystone_scale/0-deploy_keystone | starting test step 2025-10-01 14:13:51.070895 | controller | 0-deploy_keystone' 2025-10-01 14:13:51.070903 | controller | - ' logger.go:42: 13:56:56 | keystone_scale/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone 2025-10-01 14:13:51.070911 | controller | created' 2025-10-01 14:13:51.070918 | controller | - ' logger.go:42: 13:56:56 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.070926 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.070933 | controller | rely on' 2025-10-01 14:13:51.070941 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.070949 | controller | and checks that' 2025-10-01 14:13:51.070957 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.070965 | controller | pattern' 2025-10-01 14:13:51.070973 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.070981 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.070989 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.070996 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.071004 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.071012 | controller | - ' exit 0' 2025-10-01 14:13:51.071020 | controller | - ' else' 2025-10-01 14:13:51.071028 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.071040 | controller | - ' exit 1' 2025-10-01 14:13:51.071048 | controller | - ' fi' 2025-10-01 14:13:51.071056 | controller | - ' ' 2025-10-01 14:13:51.071064 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.071072 | controller | them with a script' 2025-10-01 14:13:51.071080 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.071091 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.071099 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.071110 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.071118 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.071134 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.071141 | controller | - ' # it is an image' 2025-10-01 14:13:51.071149 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.071157 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.071165 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.071173 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.071181 | controller | - ' case $NAME in' 2025-10-01 14:13:51.071189 | controller | - ' API)' 2025-10-01 14:13:51.071196 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.071204 | controller | - ' ;;' 2025-10-01 14:13:51.071217 | controller | - ' esac' 2025-10-01 14:13:51.071228 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.071236 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.071244 | controller | - ' exit 1' 2025-10-01 14:13:51.071251 | controller | - ' fi' 2025-10-01 14:13:51.071259 | controller | - ' fi' 2025-10-01 14:13:51.071267 | controller | - ' done' 2025-10-01 14:13:51.071274 | controller | - ' ]' 2025-10-01 14:13:51.071282 | controller | - ' logger.go:42: 13:56:56 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.071290 | controller | : do not match regex' 2025-10-01 14:13:51.071310 | controller | - ' logger.go:42: 13:56:57 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.071319 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.071326 | controller | rely on' 2025-10-01 14:13:51.071332 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.071339 | controller | and checks that' 2025-10-01 14:13:51.071344 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.071352 | controller | pattern' 2025-10-01 14:13:51.071360 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.071368 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.071376 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.071384 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.071392 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.071420 | controller | - ' exit 0' 2025-10-01 14:13:51.071426 | controller | - ' else' 2025-10-01 14:13:51.071432 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.071438 | controller | - ' exit 1' 2025-10-01 14:13:51.071444 | controller | - ' fi' 2025-10-01 14:13:51.071450 | controller | - ' ' 2025-10-01 14:13:51.071460 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.071466 | controller | them with a script' 2025-10-01 14:13:51.071472 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.071478 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.071484 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.071490 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.071500 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.071512 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.071518 | controller | - ' # it is an image' 2025-10-01 14:13:51.071524 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.071530 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.071536 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.071541 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.071547 | controller | - ' case $NAME in' 2025-10-01 14:13:51.071553 | controller | - ' API)' 2025-10-01 14:13:51.071559 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.071565 | controller | - ' ;;' 2025-10-01 14:13:51.071571 | controller | - ' esac' 2025-10-01 14:13:51.071577 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.071583 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.071589 | controller | - ' exit 1' 2025-10-01 14:13:51.071595 | controller | - ' fi' 2025-10-01 14:13:51.071600 | controller | - ' fi' 2025-10-01 14:13:51.071606 | controller | - ' done' 2025-10-01 14:13:51.071612 | controller | - ' ]' 2025-10-01 14:13:51.071618 | controller | - ' logger.go:42: 13:56:57 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.071624 | controller | : do not match regex' 2025-10-01 14:13:51.071630 | controller | - ' logger.go:42: 13:56:59 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.071636 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.071642 | controller | rely on' 2025-10-01 14:13:51.071650 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.071656 | controller | and checks that' 2025-10-01 14:13:51.071662 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.071667 | controller | pattern' 2025-10-01 14:13:51.071673 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.071679 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.071685 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.071691 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.071697 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.071703 | controller | - ' exit 0' 2025-10-01 14:13:51.071709 | controller | - ' else' 2025-10-01 14:13:51.071715 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.071720 | controller | - ' exit 1' 2025-10-01 14:13:51.071726 | controller | - ' fi' 2025-10-01 14:13:51.071732 | controller | - ' ' 2025-10-01 14:13:51.071738 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.071744 | controller | them with a script' 2025-10-01 14:13:51.071750 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.071758 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.071764 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.071770 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.071776 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.071788 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.071820 | controller | - ' # it is an image' 2025-10-01 14:13:51.071829 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.071835 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.071841 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.071846 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.071852 | controller | - ' case $NAME in' 2025-10-01 14:13:51.071858 | controller | - ' API)' 2025-10-01 14:13:51.071864 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.071870 | controller | - ' ;;' 2025-10-01 14:13:51.071876 | controller | - ' esac' 2025-10-01 14:13:51.071882 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.071888 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.071894 | controller | - ' exit 1' 2025-10-01 14:13:51.071899 | controller | - ' fi' 2025-10-01 14:13:51.071905 | controller | - ' fi' 2025-10-01 14:13:51.071911 | controller | - ' done' 2025-10-01 14:13:51.071917 | controller | - ' ]' 2025-10-01 14:13:51.071923 | controller | - ' logger.go:42: 13:56:59 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.071929 | controller | : do not match regex' 2025-10-01 14:13:51.071935 | controller | - ' logger.go:42: 13:57:00 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.071940 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.071946 | controller | rely on' 2025-10-01 14:13:51.071952 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.071958 | controller | and checks that' 2025-10-01 14:13:51.071964 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.071970 | controller | pattern' 2025-10-01 14:13:51.071976 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.071981 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.071987 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.071993 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.072002 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.072008 | controller | - ' exit 0' 2025-10-01 14:13:51.072014 | controller | - ' else' 2025-10-01 14:13:51.072020 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.072026 | controller | - ' exit 1' 2025-10-01 14:13:51.072031 | controller | - ' fi' 2025-10-01 14:13:51.072037 | controller | - ' ' 2025-10-01 14:13:51.072043 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.072049 | controller | them with a script' 2025-10-01 14:13:51.072055 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.072061 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.072067 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.072075 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.072081 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.072093 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.072099 | controller | - ' # it is an image' 2025-10-01 14:13:51.072105 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.072111 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.072117 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.072122 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.072128 | controller | - ' case $NAME in' 2025-10-01 14:13:51.072134 | controller | - ' API)' 2025-10-01 14:13:51.072140 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.072146 | controller | - ' ;;' 2025-10-01 14:13:51.072152 | controller | - ' esac' 2025-10-01 14:13:51.072158 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.072163 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.072169 | controller | - ' exit 1' 2025-10-01 14:13:51.072175 | controller | - ' fi' 2025-10-01 14:13:51.072181 | controller | - ' fi' 2025-10-01 14:13:51.072187 | controller | - ' done' 2025-10-01 14:13:51.072193 | controller | - ' ]' 2025-10-01 14:13:51.072199 | controller | - ' logger.go:42: 13:57:00 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.072205 | controller | : do not match regex' 2025-10-01 14:13:51.072211 | controller | - ' logger.go:42: 13:57:01 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.072219 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.072227 | controller | rely on' 2025-10-01 14:13:51.072235 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.072243 | controller | and checks that' 2025-10-01 14:13:51.072252 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.072259 | controller | pattern' 2025-10-01 14:13:51.072267 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.072275 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.072294 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.072304 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.072310 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.072316 | controller | - ' exit 0' 2025-10-01 14:13:51.072322 | controller | - ' else' 2025-10-01 14:13:51.072328 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.072334 | controller | - ' exit 1' 2025-10-01 14:13:51.072340 | controller | - ' fi' 2025-10-01 14:13:51.072346 | controller | - ' ' 2025-10-01 14:13:51.072352 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.072357 | controller | them with a script' 2025-10-01 14:13:51.072363 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.072369 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.072375 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.072381 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.072387 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.072421 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.072427 | controller | - ' # it is an image' 2025-10-01 14:13:51.072434 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.072440 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.072446 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.072451 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.072457 | controller | - ' case $NAME in' 2025-10-01 14:13:51.072463 | controller | - ' API)' 2025-10-01 14:13:51.072469 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.072475 | controller | - ' ;;' 2025-10-01 14:13:51.072481 | controller | - ' esac' 2025-10-01 14:13:51.072487 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.072493 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.072499 | controller | - ' exit 1' 2025-10-01 14:13:51.072505 | controller | - ' fi' 2025-10-01 14:13:51.072517 | controller | - ' fi' 2025-10-01 14:13:51.072523 | controller | - ' done' 2025-10-01 14:13:51.072529 | controller | - ' ]' 2025-10-01 14:13:51.072535 | controller | - ' logger.go:42: 13:57:01 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.072541 | controller | : do not match regex' 2025-10-01 14:13:51.072546 | controller | - ' logger.go:42: 13:57:02 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.072552 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.072558 | controller | rely on' 2025-10-01 14:13:51.072564 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.072570 | controller | and checks that' 2025-10-01 14:13:51.072576 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.072582 | controller | pattern' 2025-10-01 14:13:51.072588 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.072594 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.072599 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.072605 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.072611 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.072617 | controller | - ' exit 0' 2025-10-01 14:13:51.072623 | controller | - ' else' 2025-10-01 14:13:51.072629 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.072635 | controller | - ' exit 1' 2025-10-01 14:13:51.072641 | controller | - ' fi' 2025-10-01 14:13:51.072646 | controller | - ' ' 2025-10-01 14:13:51.072652 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.072658 | controller | them with a script' 2025-10-01 14:13:51.072664 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.072670 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.072678 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.072684 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.072690 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.072702 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.072708 | controller | - ' # it is an image' 2025-10-01 14:13:51.072716 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.072722 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.072728 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.072734 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.072740 | controller | - ' case $NAME in' 2025-10-01 14:13:51.072745 | controller | - ' API)' 2025-10-01 14:13:51.072751 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.072757 | controller | - ' ;;' 2025-10-01 14:13:51.072763 | controller | - ' esac' 2025-10-01 14:13:51.072777 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.072783 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.072789 | controller | - ' exit 1' 2025-10-01 14:13:51.072795 | controller | - ' fi' 2025-10-01 14:13:51.072801 | controller | - ' fi' 2025-10-01 14:13:51.072807 | controller | - ' done' 2025-10-01 14:13:51.072812 | controller | - ' ]' 2025-10-01 14:13:51.072818 | controller | - ' logger.go:42: 13:57:02 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.072824 | controller | : do not match regex' 2025-10-01 14:13:51.072830 | controller | - ' logger.go:42: 13:57:03 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.072836 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.072842 | controller | rely on' 2025-10-01 14:13:51.072847 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.072853 | controller | and checks that' 2025-10-01 14:13:51.072859 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.072865 | controller | pattern' 2025-10-01 14:13:51.072870 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.072876 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.072882 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.072888 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.072893 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.072899 | controller | - ' exit 0' 2025-10-01 14:13:51.072905 | controller | - ' else' 2025-10-01 14:13:51.072911 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.072917 | controller | - ' exit 1' 2025-10-01 14:13:51.072922 | controller | - ' fi' 2025-10-01 14:13:51.072928 | controller | - ' ' 2025-10-01 14:13:51.072934 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.072940 | controller | them with a script' 2025-10-01 14:13:51.072945 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.072951 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.072957 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.072963 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.072969 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.072980 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.072986 | controller | - ' # it is an image' 2025-10-01 14:13:51.072992 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.072998 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.073006 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.073012 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.073018 | controller | - ' case $NAME in' 2025-10-01 14:13:51.073023 | controller | - ' API)' 2025-10-01 14:13:51.073029 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.073035 | controller | - ' ;;' 2025-10-01 14:13:51.073041 | controller | - ' esac' 2025-10-01 14:13:51.073047 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.073053 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.073058 | controller | - ' exit 1' 2025-10-01 14:13:51.073069 | controller | - ' fi' 2025-10-01 14:13:51.073075 | controller | - ' fi' 2025-10-01 14:13:51.073081 | controller | - ' done' 2025-10-01 14:13:51.073087 | controller | - ' ]' 2025-10-01 14:13:51.073093 | controller | - ' logger.go:42: 13:57:03 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.073099 | controller | : do not match regex' 2025-10-01 14:13:51.073104 | controller | - ' logger.go:42: 13:57:04 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.073110 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.073116 | controller | rely on' 2025-10-01 14:13:51.073122 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.073127 | controller | and checks that' 2025-10-01 14:13:51.073133 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.073139 | controller | pattern' 2025-10-01 14:13:51.073145 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.073151 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.073156 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.073162 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.073168 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.073174 | controller | - ' exit 0' 2025-10-01 14:13:51.073180 | controller | - ' else' 2025-10-01 14:13:51.073185 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.073191 | controller | - ' exit 1' 2025-10-01 14:13:51.073197 | controller | - ' fi' 2025-10-01 14:13:51.073203 | controller | - ' ' 2025-10-01 14:13:51.073209 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.073214 | controller | them with a script' 2025-10-01 14:13:51.073227 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.073233 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.073239 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.073245 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.073251 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.073262 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.073268 | controller | - ' # it is an image' 2025-10-01 14:13:51.073274 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.073280 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.073286 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.073292 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.073300 | controller | - ' case $NAME in' 2025-10-01 14:13:51.073306 | controller | - ' API)' 2025-10-01 14:13:51.073312 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.073318 | controller | - ' ;;' 2025-10-01 14:13:51.073323 | controller | - ' esac' 2025-10-01 14:13:51.073329 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.073337 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.073344 | controller | - ' exit 1' 2025-10-01 14:13:51.073352 | controller | - ' fi' 2025-10-01 14:13:51.073360 | controller | - ' fi' 2025-10-01 14:13:51.073368 | controller | - ' done' 2025-10-01 14:13:51.073376 | controller | - ' ]' 2025-10-01 14:13:51.073383 | controller | - ' logger.go:42: 13:57:05 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.073391 | controller | : do not match regex' 2025-10-01 14:13:51.073448 | controller | - ' logger.go:42: 13:57:06 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.073458 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.073466 | controller | rely on' 2025-10-01 14:13:51.073473 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.073481 | controller | and checks that' 2025-10-01 14:13:51.073489 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.073496 | controller | pattern' 2025-10-01 14:13:51.073502 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.073508 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.073514 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.073520 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.073526 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.073531 | controller | - ' exit 0' 2025-10-01 14:13:51.073537 | controller | - ' else' 2025-10-01 14:13:51.073543 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.073549 | controller | - ' exit 1' 2025-10-01 14:13:51.073554 | controller | - ' fi' 2025-10-01 14:13:51.073560 | controller | - ' ' 2025-10-01 14:13:51.073566 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.073572 | controller | them with a script' 2025-10-01 14:13:51.073578 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.073584 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.073589 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.073595 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.073601 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.073613 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.073618 | controller | - ' # it is an image' 2025-10-01 14:13:51.073624 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.073630 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.073636 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.073642 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.073647 | controller | - ' case $NAME in' 2025-10-01 14:13:51.073653 | controller | - ' API)' 2025-10-01 14:13:51.073659 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.073669 | controller | - ' ;;' 2025-10-01 14:13:51.073675 | controller | - ' esac' 2025-10-01 14:13:51.073680 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.073686 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.073692 | controller | - ' exit 1' 2025-10-01 14:13:51.073698 | controller | - ' fi' 2025-10-01 14:13:51.073703 | controller | - ' fi' 2025-10-01 14:13:51.073709 | controller | - ' done' 2025-10-01 14:13:51.073715 | controller | - ' ]' 2025-10-01 14:13:51.073724 | controller | - ' logger.go:42: 13:57:06 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.073730 | controller | : do not match regex' 2025-10-01 14:13:51.073736 | controller | - ' logger.go:42: 13:57:07 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.073742 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.073750 | controller | rely on' 2025-10-01 14:13:51.073766 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.073772 | controller | and checks that' 2025-10-01 14:13:51.073778 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.073784 | controller | pattern' 2025-10-01 14:13:51.073790 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.073798 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.073804 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.073810 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.073816 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.073822 | controller | - ' exit 0' 2025-10-01 14:13:51.073827 | controller | - ' else' 2025-10-01 14:13:51.073833 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.073839 | controller | - ' exit 1' 2025-10-01 14:13:51.073845 | controller | - ' fi' 2025-10-01 14:13:51.073850 | controller | - ' ' 2025-10-01 14:13:51.073856 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.073862 | controller | them with a script' 2025-10-01 14:13:51.073868 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.073874 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.073879 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.073885 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.073891 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.073903 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.073908 | controller | - ' # it is an image' 2025-10-01 14:13:51.073914 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.073920 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.073926 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.073932 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.073937 | controller | - ' case $NAME in' 2025-10-01 14:13:51.073943 | controller | - ' API)' 2025-10-01 14:13:51.073949 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.073955 | controller | - ' ;;' 2025-10-01 14:13:51.073961 | controller | - ' esac' 2025-10-01 14:13:51.073966 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.073975 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.073981 | controller | - ' exit 1' 2025-10-01 14:13:51.073987 | controller | - ' fi' 2025-10-01 14:13:51.073992 | controller | - ' fi' 2025-10-01 14:13:51.073998 | controller | - ' done' 2025-10-01 14:13:51.074004 | controller | - ' ]' 2025-10-01 14:13:51.074010 | controller | - ' logger.go:42: 13:57:07 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.074016 | controller | : do not match regex' 2025-10-01 14:13:51.074022 | controller | - ' logger.go:42: 13:57:08 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.074027 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.074033 | controller | rely on' 2025-10-01 14:13:51.074039 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.074045 | controller | and checks that' 2025-10-01 14:13:51.074050 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.074056 | controller | pattern' 2025-10-01 14:13:51.074062 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.074068 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.074074 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.074079 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.074086 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.074093 | controller | - ' exit 0' 2025-10-01 14:13:51.074099 | controller | - ' else' 2025-10-01 14:13:51.074106 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.074113 | controller | - ' exit 1' 2025-10-01 14:13:51.074119 | controller | - ' fi' 2025-10-01 14:13:51.074125 | controller | - ' ' 2025-10-01 14:13:51.074131 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.074137 | controller | them with a script' 2025-10-01 14:13:51.074142 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.074148 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.074154 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.074160 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.074166 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.074177 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.074183 | controller | - ' # it is an image' 2025-10-01 14:13:51.074189 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.074202 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.074208 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.074214 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.074220 | controller | - ' case $NAME in' 2025-10-01 14:13:51.074226 | controller | - ' API)' 2025-10-01 14:13:51.074231 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.074237 | controller | - ' ;;' 2025-10-01 14:13:51.074243 | controller | - ' esac' 2025-10-01 14:13:51.074249 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.074255 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.074261 | controller | - ' exit 1' 2025-10-01 14:13:51.074266 | controller | - ' fi' 2025-10-01 14:13:51.074275 | controller | - ' fi' 2025-10-01 14:13:51.074281 | controller | - ' done' 2025-10-01 14:13:51.074286 | controller | - ' ]' 2025-10-01 14:13:51.074292 | controller | - ' logger.go:42: 13:57:08 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.074298 | controller | : do not match regex' 2025-10-01 14:13:51.074304 | controller | - ' logger.go:42: 13:57:09 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.074310 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.074316 | controller | rely on' 2025-10-01 14:13:51.074321 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.074327 | controller | and checks that' 2025-10-01 14:13:51.074333 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.074339 | controller | pattern' 2025-10-01 14:13:51.074345 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.074350 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.074356 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.074362 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.074368 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.074374 | controller | - ' exit 0' 2025-10-01 14:13:51.074379 | controller | - ' else' 2025-10-01 14:13:51.074385 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.074391 | controller | - ' exit 1' 2025-10-01 14:13:51.074399 | controller | - ' fi' 2025-10-01 14:13:51.074422 | controller | - ' ' 2025-10-01 14:13:51.074428 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.074434 | controller | them with a script' 2025-10-01 14:13:51.074440 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.074445 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.074451 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.074457 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.074467 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.074479 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.074485 | controller | - ' # it is an image' 2025-10-01 14:13:51.074491 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.074497 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.074503 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.074508 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.074514 | controller | - ' case $NAME in' 2025-10-01 14:13:51.074520 | controller | - ' API)' 2025-10-01 14:13:51.074526 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.074532 | controller | - ' ;;' 2025-10-01 14:13:51.074538 | controller | - ' esac' 2025-10-01 14:13:51.074544 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.074550 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.074556 | controller | - ' exit 1' 2025-10-01 14:13:51.074561 | controller | - ' fi' 2025-10-01 14:13:51.074567 | controller | - ' fi' 2025-10-01 14:13:51.074573 | controller | - ' done' 2025-10-01 14:13:51.074580 | controller | - ' ]' 2025-10-01 14:13:51.074586 | controller | - ' logger.go:42: 13:57:09 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.074597 | controller | : do not match regex' 2025-10-01 14:13:51.074605 | controller | - ' logger.go:42: 13:57:10 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.074612 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.074619 | controller | rely on' 2025-10-01 14:13:51.074626 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.074633 | controller | and checks that' 2025-10-01 14:13:51.074641 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.074647 | controller | pattern' 2025-10-01 14:13:51.074654 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.074662 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.074669 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.074686 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.074694 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.074702 | controller | - ' exit 0' 2025-10-01 14:13:51.074709 | controller | - ' else' 2025-10-01 14:13:51.074715 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.074721 | controller | - ' exit 1' 2025-10-01 14:13:51.074727 | controller | - ' fi' 2025-10-01 14:13:51.074733 | controller | - ' ' 2025-10-01 14:13:51.074739 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.074745 | controller | them with a script' 2025-10-01 14:13:51.074754 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.074760 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.074766 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.074772 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.074778 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.074790 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.074796 | controller | - ' # it is an image' 2025-10-01 14:13:51.074802 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.074808 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.074813 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.074819 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.074825 | controller | - ' case $NAME in' 2025-10-01 14:13:51.074831 | controller | - ' API)' 2025-10-01 14:13:51.074837 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.074843 | controller | - ' ;;' 2025-10-01 14:13:51.074849 | controller | - ' esac' 2025-10-01 14:13:51.074855 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.074861 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.074866 | controller | - ' exit 1' 2025-10-01 14:13:51.074872 | controller | - ' fi' 2025-10-01 14:13:51.074878 | controller | - ' fi' 2025-10-01 14:13:51.074884 | controller | - ' done' 2025-10-01 14:13:51.074890 | controller | - ' ]' 2025-10-01 14:13:51.074896 | controller | - ' logger.go:42: 13:57:11 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.074902 | controller | : do not match regex' 2025-10-01 14:13:51.074908 | controller | - ' logger.go:42: 13:57:12 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.074916 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.074922 | controller | rely on' 2025-10-01 14:13:51.074928 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.074934 | controller | and checks that' 2025-10-01 14:13:51.074940 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.074946 | controller | pattern' 2025-10-01 14:13:51.074952 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.074958 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.074964 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.074970 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.074975 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.074981 | controller | - ' exit 0' 2025-10-01 14:13:51.074987 | controller | - ' else' 2025-10-01 14:13:51.074996 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.075001 | controller | - ' exit 1' 2025-10-01 14:13:51.075007 | controller | - ' fi' 2025-10-01 14:13:51.075013 | controller | - ' ' 2025-10-01 14:13:51.075019 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.075025 | controller | them with a script' 2025-10-01 14:13:51.075031 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.075037 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.075043 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.075049 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.075055 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.075066 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.075072 | controller | - ' # it is an image' 2025-10-01 14:13:51.075078 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.075084 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.075090 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.075096 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.075102 | controller | - ' case $NAME in' 2025-10-01 14:13:51.075108 | controller | - ' API)' 2025-10-01 14:13:51.075113 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.075119 | controller | - ' ;;' 2025-10-01 14:13:51.075125 | controller | - ' esac' 2025-10-01 14:13:51.075131 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.075137 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.075143 | controller | - ' exit 1' 2025-10-01 14:13:51.075156 | controller | - ' fi' 2025-10-01 14:13:51.075163 | controller | - ' fi' 2025-10-01 14:13:51.075169 | controller | - ' done' 2025-10-01 14:13:51.075175 | controller | - ' ]' 2025-10-01 14:13:51.075181 | controller | - ' logger.go:42: 13:57:12 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.075187 | controller | : do not match regex' 2025-10-01 14:13:51.075192 | controller | - ' logger.go:42: 13:57:13 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.075198 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.075204 | controller | rely on' 2025-10-01 14:13:51.075213 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.075219 | controller | and checks that' 2025-10-01 14:13:51.075225 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.075231 | controller | pattern' 2025-10-01 14:13:51.075237 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.075242 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.075248 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.075254 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.075260 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.075266 | controller | - ' exit 0' 2025-10-01 14:13:51.075272 | controller | - ' else' 2025-10-01 14:13:51.075278 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.075284 | controller | - ' exit 1' 2025-10-01 14:13:51.075290 | controller | - ' fi' 2025-10-01 14:13:51.075295 | controller | - ' ' 2025-10-01 14:13:51.075301 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.075307 | controller | them with a script' 2025-10-01 14:13:51.075313 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.075319 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.075325 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.075331 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.075337 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.075348 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.075354 | controller | - ' # it is an image' 2025-10-01 14:13:51.075360 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.075369 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.075375 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.075381 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.075387 | controller | - ' case $NAME in' 2025-10-01 14:13:51.075393 | controller | - ' API)' 2025-10-01 14:13:51.075413 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.075424 | controller | - ' ;;' 2025-10-01 14:13:51.075432 | controller | - ' esac' 2025-10-01 14:13:51.075440 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.075448 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.075455 | controller | - ' exit 1' 2025-10-01 14:13:51.075463 | controller | - ' fi' 2025-10-01 14:13:51.075469 | controller | - ' fi' 2025-10-01 14:13:51.075475 | controller | - ' done' 2025-10-01 14:13:51.075481 | controller | - ' ]' 2025-10-01 14:13:51.075486 | controller | - ' logger.go:42: 13:57:13 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.075492 | controller | : do not match regex' 2025-10-01 14:13:51.075498 | controller | - ' logger.go:42: 13:57:14 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.075504 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.075510 | controller | rely on' 2025-10-01 14:13:51.075516 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.075522 | controller | and checks that' 2025-10-01 14:13:51.075528 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.075538 | controller | pattern' 2025-10-01 14:13:51.075544 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.075550 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.075555 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.075561 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.075567 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.075576 | controller | - ' exit 0' 2025-10-01 14:13:51.075582 | controller | - ' else' 2025-10-01 14:13:51.075588 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.075594 | controller | - ' exit 1' 2025-10-01 14:13:51.075600 | controller | - ' fi' 2025-10-01 14:13:51.075605 | controller | - ' ' 2025-10-01 14:13:51.075611 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.075617 | controller | them with a script' 2025-10-01 14:13:51.075623 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.075629 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.075646 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.075653 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.075659 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.075671 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.075677 | controller | - ' # it is an image' 2025-10-01 14:13:51.075684 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.075691 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.075699 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.075706 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.075714 | controller | - ' case $NAME in' 2025-10-01 14:13:51.075721 | controller | - ' API)' 2025-10-01 14:13:51.075728 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.075734 | controller | - ' ;;' 2025-10-01 14:13:51.075740 | controller | - ' esac' 2025-10-01 14:13:51.075746 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.075752 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.075758 | controller | - ' exit 1' 2025-10-01 14:13:51.075764 | controller | - ' fi' 2025-10-01 14:13:51.075771 | controller | - ' fi' 2025-10-01 14:13:51.075779 | controller | - ' done' 2025-10-01 14:13:51.075786 | controller | - ' ]' 2025-10-01 14:13:51.075794 | controller | - ' logger.go:42: 13:57:14 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.075802 | controller | : do not match regex' 2025-10-01 14:13:51.075832 | controller | - ' logger.go:42: 13:57:15 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.075840 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.075848 | controller | rely on' 2025-10-01 14:13:51.075856 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.075863 | controller | and checks that' 2025-10-01 14:13:51.075871 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.075877 | controller | pattern' 2025-10-01 14:13:51.075883 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.075893 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.075899 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.075905 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.075910 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.075916 | controller | - ' exit 0' 2025-10-01 14:13:51.075922 | controller | - ' else' 2025-10-01 14:13:51.075928 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.075934 | controller | - ' exit 1' 2025-10-01 14:13:51.075940 | controller | - ' fi' 2025-10-01 14:13:51.075946 | controller | - ' ' 2025-10-01 14:13:51.075952 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.075957 | controller | them with a script' 2025-10-01 14:13:51.075963 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.075969 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.075975 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.075981 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.075987 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.075999 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.076004 | controller | - ' # it is an image' 2025-10-01 14:13:51.076010 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.076016 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.076022 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.076028 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.076034 | controller | - ' case $NAME in' 2025-10-01 14:13:51.076040 | controller | - ' API)' 2025-10-01 14:13:51.076046 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.076051 | controller | - ' ;;' 2025-10-01 14:13:51.076057 | controller | - ' esac' 2025-10-01 14:13:51.076063 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.076069 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.076075 | controller | - ' exit 1' 2025-10-01 14:13:51.076081 | controller | - ' fi' 2025-10-01 14:13:51.076089 | controller | - ' fi' 2025-10-01 14:13:51.076097 | controller | - ' done' 2025-10-01 14:13:51.076105 | controller | - ' ]' 2025-10-01 14:13:51.076113 | controller | - ' logger.go:42: 13:57:15 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.076121 | controller | : do not match regex' 2025-10-01 14:13:51.076129 | controller | - ' logger.go:42: 13:57:16 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.076137 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.076145 | controller | rely on' 2025-10-01 14:13:51.076152 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.076160 | controller | and checks that' 2025-10-01 14:13:51.076179 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.076188 | controller | pattern' 2025-10-01 14:13:51.076196 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.076202 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.076208 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.076217 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.076223 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.076229 | controller | - ' exit 0' 2025-10-01 14:13:51.076235 | controller | - ' else' 2025-10-01 14:13:51.076241 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.076247 | controller | - ' exit 1' 2025-10-01 14:13:51.076253 | controller | - ' fi' 2025-10-01 14:13:51.076259 | controller | - ' ' 2025-10-01 14:13:51.076268 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.076274 | controller | them with a script' 2025-10-01 14:13:51.076280 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.076285 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.076291 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.076297 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.076303 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.076315 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.076321 | controller | - ' # it is an image' 2025-10-01 14:13:51.076327 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.076333 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.076338 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.076344 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.076350 | controller | - ' case $NAME in' 2025-10-01 14:13:51.076356 | controller | - ' API)' 2025-10-01 14:13:51.076362 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.076368 | controller | - ' ;;' 2025-10-01 14:13:51.076374 | controller | - ' esac' 2025-10-01 14:13:51.076379 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.076385 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.076391 | controller | - ' exit 1' 2025-10-01 14:13:51.076397 | controller | - ' fi' 2025-10-01 14:13:51.076422 | controller | - ' fi' 2025-10-01 14:13:51.076428 | controller | - ' done' 2025-10-01 14:13:51.076434 | controller | - ' ]' 2025-10-01 14:13:51.076440 | controller | - ' logger.go:42: 13:57:16 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.076446 | controller | : do not match regex' 2025-10-01 14:13:51.076452 | controller | - ' logger.go:42: 13:57:17 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.076458 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.076464 | controller | rely on' 2025-10-01 14:13:51.076470 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.076476 | controller | and checks that' 2025-10-01 14:13:51.076482 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.076488 | controller | pattern' 2025-10-01 14:13:51.076493 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.076499 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.076505 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.076511 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.076517 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.076526 | controller | - ' exit 0' 2025-10-01 14:13:51.076532 | controller | - ' else' 2025-10-01 14:13:51.076538 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.076543 | controller | - ' exit 1' 2025-10-01 14:13:51.076549 | controller | - ' fi' 2025-10-01 14:13:51.076555 | controller | - ' ' 2025-10-01 14:13:51.076561 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.076567 | controller | them with a script' 2025-10-01 14:13:51.076573 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.076579 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.076584 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.076590 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.076596 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.076608 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.076614 | controller | - ' # it is an image' 2025-10-01 14:13:51.076620 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.076625 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.076631 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.076645 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.076652 | controller | - ' case $NAME in' 2025-10-01 14:13:51.076658 | controller | - ' API)' 2025-10-01 14:13:51.076665 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.076671 | controller | - ' ;;' 2025-10-01 14:13:51.076677 | controller | - ' esac' 2025-10-01 14:13:51.076683 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.076689 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.076694 | controller | - ' exit 1' 2025-10-01 14:13:51.076700 | controller | - ' fi' 2025-10-01 14:13:51.076706 | controller | - ' fi' 2025-10-01 14:13:51.076712 | controller | - ' done' 2025-10-01 14:13:51.076718 | controller | - ' ]' 2025-10-01 14:13:51.076724 | controller | - ' logger.go:42: 13:57:18 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.076730 | controller | : do not match regex' 2025-10-01 14:13:51.076736 | controller | - ' logger.go:42: 13:57:19 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.076741 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.076747 | controller | rely on' 2025-10-01 14:13:51.076753 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.076759 | controller | and checks that' 2025-10-01 14:13:51.076765 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.076771 | controller | pattern' 2025-10-01 14:13:51.076777 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.076782 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.076788 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.076794 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.076800 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.076806 | controller | - ' exit 0' 2025-10-01 14:13:51.076812 | controller | - ' else' 2025-10-01 14:13:51.076818 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.076827 | controller | - ' exit 1' 2025-10-01 14:13:51.076832 | controller | - ' fi' 2025-10-01 14:13:51.076838 | controller | - ' ' 2025-10-01 14:13:51.076850 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.076857 | controller | them with a script' 2025-10-01 14:13:51.076862 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.076868 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.076874 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.076880 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.076886 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.076898 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.076903 | controller | - ' # it is an image' 2025-10-01 14:13:51.076909 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.076915 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.076921 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.076927 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.076933 | controller | - ' case $NAME in' 2025-10-01 14:13:51.076939 | controller | - ' API)' 2025-10-01 14:13:51.076944 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.076950 | controller | - ' ;;' 2025-10-01 14:13:51.076956 | controller | - ' esac' 2025-10-01 14:13:51.076962 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.076968 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.076974 | controller | - ' exit 1' 2025-10-01 14:13:51.076979 | controller | - ' fi' 2025-10-01 14:13:51.076985 | controller | - ' fi' 2025-10-01 14:13:51.076991 | controller | - ' done' 2025-10-01 14:13:51.076997 | controller | - ' ]' 2025-10-01 14:13:51.077003 | controller | - ' logger.go:42: 13:57:19 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.077009 | controller | : do not match regex' 2025-10-01 14:13:51.077015 | controller | - ' logger.go:42: 13:57:20 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.077020 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.077026 | controller | rely on' 2025-10-01 14:13:51.077032 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.077038 | controller | and checks that' 2025-10-01 14:13:51.077044 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.077050 | controller | pattern' 2025-10-01 14:13:51.077056 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.077061 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.077070 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.077076 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.077082 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.077089 | controller | - ' exit 0' 2025-10-01 14:13:51.077096 | controller | - ' else' 2025-10-01 14:13:51.077110 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.077117 | controller | - ' exit 1' 2025-10-01 14:13:51.077123 | controller | - ' fi' 2025-10-01 14:13:51.077129 | controller | - ' ' 2025-10-01 14:13:51.077135 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.077144 | controller | them with a script' 2025-10-01 14:13:51.077150 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.077156 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.077162 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.077168 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.077174 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.077186 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.077191 | controller | - ' # it is an image' 2025-10-01 14:13:51.077197 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.077203 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.077209 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.077215 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.077221 | controller | - ' case $NAME in' 2025-10-01 14:13:51.077226 | controller | - ' API)' 2025-10-01 14:13:51.077232 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.077238 | controller | - ' ;;' 2025-10-01 14:13:51.077244 | controller | - ' esac' 2025-10-01 14:13:51.077250 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.077255 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.077261 | controller | - ' exit 1' 2025-10-01 14:13:51.077267 | controller | - ' fi' 2025-10-01 14:13:51.077273 | controller | - ' fi' 2025-10-01 14:13:51.077279 | controller | - ' done' 2025-10-01 14:13:51.077285 | controller | - ' ]' 2025-10-01 14:13:51.077290 | controller | - ' logger.go:42: 13:57:20 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.077296 | controller | : do not match regex' 2025-10-01 14:13:51.077302 | controller | - ' logger.go:42: 13:57:21 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.077308 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.077314 | controller | rely on' 2025-10-01 14:13:51.077319 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.077325 | controller | and checks that' 2025-10-01 14:13:51.077331 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.077337 | controller | pattern' 2025-10-01 14:13:51.077343 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.077349 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.077355 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.077361 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.077366 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.077372 | controller | - ' exit 0' 2025-10-01 14:13:51.077378 | controller | - ' else' 2025-10-01 14:13:51.077386 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.077394 | controller | - ' exit 1' 2025-10-01 14:13:51.077420 | controller | - ' fi' 2025-10-01 14:13:51.077429 | controller | - ' ' 2025-10-01 14:13:51.077437 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.077445 | controller | them with a script' 2025-10-01 14:13:51.077453 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.077465 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.077473 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.077480 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.077493 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.077510 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.077518 | controller | - ' # it is an image' 2025-10-01 14:13:51.077524 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.077530 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.077536 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.077542 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.077548 | controller | - ' case $NAME in' 2025-10-01 14:13:51.077554 | controller | - ' API)' 2025-10-01 14:13:51.077559 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.077565 | controller | - ' ;;' 2025-10-01 14:13:51.077575 | controller | - ' esac' 2025-10-01 14:13:51.077581 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.077587 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.077593 | controller | - ' exit 1' 2025-10-01 14:13:51.077599 | controller | - ' fi' 2025-10-01 14:13:51.077605 | controller | - ' fi' 2025-10-01 14:13:51.077612 | controller | - ' done' 2025-10-01 14:13:51.077618 | controller | - ' ]' 2025-10-01 14:13:51.077634 | controller | - ' logger.go:42: 13:57:21 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.077640 | controller | : do not match regex' 2025-10-01 14:13:51.077647 | controller | - ' logger.go:42: 13:57:22 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.077653 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.077658 | controller | rely on' 2025-10-01 14:13:51.077664 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.077670 | controller | and checks that' 2025-10-01 14:13:51.077676 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.077682 | controller | pattern' 2025-10-01 14:13:51.077688 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.077694 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.077700 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.077706 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.077711 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.077717 | controller | - ' exit 0' 2025-10-01 14:13:51.077723 | controller | - ' else' 2025-10-01 14:13:51.077729 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.077735 | controller | - ' exit 1' 2025-10-01 14:13:51.077741 | controller | - ' fi' 2025-10-01 14:13:51.077747 | controller | - ' ' 2025-10-01 14:13:51.077753 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.077759 | controller | them with a script' 2025-10-01 14:13:51.077764 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.077770 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.077776 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.077785 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.077794 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.077806 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.077812 | controller | - ' # it is an image' 2025-10-01 14:13:51.077818 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.077824 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.077830 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.077836 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.077844 | controller | - ' case $NAME in' 2025-10-01 14:13:51.077850 | controller | - ' API)' 2025-10-01 14:13:51.077856 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.077862 | controller | - ' ;;' 2025-10-01 14:13:51.077867 | controller | - ' esac' 2025-10-01 14:13:51.077873 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.077879 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.077885 | controller | - ' exit 1' 2025-10-01 14:13:51.077891 | controller | - ' fi' 2025-10-01 14:13:51.077897 | controller | - ' fi' 2025-10-01 14:13:51.077903 | controller | - ' done' 2025-10-01 14:13:51.077909 | controller | - ' ]' 2025-10-01 14:13:51.077915 | controller | - ' logger.go:42: 13:57:22 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.077921 | controller | : do not match regex' 2025-10-01 14:13:51.077927 | controller | - ' logger.go:42: 13:57:23 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.077932 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.077938 | controller | rely on' 2025-10-01 14:13:51.077944 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.077950 | controller | and checks that' 2025-10-01 14:13:51.077956 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.077962 | controller | pattern' 2025-10-01 14:13:51.077968 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.077974 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.077979 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.077985 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.077991 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.077997 | controller | - ' exit 0' 2025-10-01 14:13:51.078003 | controller | - ' else' 2025-10-01 14:13:51.078009 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.078015 | controller | - ' exit 1' 2025-10-01 14:13:51.078021 | controller | - ' fi' 2025-10-01 14:13:51.078027 | controller | - ' ' 2025-10-01 14:13:51.078032 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.078038 | controller | them with a script' 2025-10-01 14:13:51.078044 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.078050 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.078056 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.078062 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.078075 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.078090 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.078096 | controller | - ' # it is an image' 2025-10-01 14:13:51.078102 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.078108 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.078114 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.078120 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.078125 | controller | - ' case $NAME in' 2025-10-01 14:13:51.078134 | controller | - ' API)' 2025-10-01 14:13:51.078140 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.078146 | controller | - ' ;;' 2025-10-01 14:13:51.078152 | controller | - ' esac' 2025-10-01 14:13:51.078158 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.078163 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.078169 | controller | - ' exit 1' 2025-10-01 14:13:51.078175 | controller | - ' fi' 2025-10-01 14:13:51.078181 | controller | - ' fi' 2025-10-01 14:13:51.078187 | controller | - ' done' 2025-10-01 14:13:51.078193 | controller | - ' ]' 2025-10-01 14:13:51.078199 | controller | - ' logger.go:42: 13:57:24 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.078205 | controller | : do not match regex' 2025-10-01 14:13:51.078211 | controller | - ' logger.go:42: 13:57:25 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.078216 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.078222 | controller | rely on' 2025-10-01 14:13:51.078228 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.078234 | controller | and checks that' 2025-10-01 14:13:51.078240 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.078246 | controller | pattern' 2025-10-01 14:13:51.078252 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.078258 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.078264 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.078269 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.078275 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.078281 | controller | - ' exit 0' 2025-10-01 14:13:51.078287 | controller | - ' else' 2025-10-01 14:13:51.078293 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.078299 | controller | - ' exit 1' 2025-10-01 14:13:51.078305 | controller | - ' fi' 2025-10-01 14:13:51.078310 | controller | - ' ' 2025-10-01 14:13:51.078316 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.078322 | controller | them with a script' 2025-10-01 14:13:51.078328 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.078334 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.078340 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.078345 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.078351 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.078363 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.078369 | controller | - ' # it is an image' 2025-10-01 14:13:51.078374 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.078383 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.078389 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.078395 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.078421 | controller | - ' case $NAME in' 2025-10-01 14:13:51.078428 | controller | - ' API)' 2025-10-01 14:13:51.078434 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.078439 | controller | - ' ;;' 2025-10-01 14:13:51.078445 | controller | - ' esac' 2025-10-01 14:13:51.078451 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.078457 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.078463 | controller | - ' exit 1' 2025-10-01 14:13:51.078469 | controller | - ' fi' 2025-10-01 14:13:51.078475 | controller | - ' fi' 2025-10-01 14:13:51.078481 | controller | - ' done' 2025-10-01 14:13:51.078487 | controller | - ' ]' 2025-10-01 14:13:51.078493 | controller | - ' logger.go:42: 13:57:25 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.078498 | controller | : do not match regex' 2025-10-01 14:13:51.078504 | controller | - ' logger.go:42: 13:57:26 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.078510 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.078516 | controller | rely on' 2025-10-01 14:13:51.078522 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.078527 | controller | and checks that' 2025-10-01 14:13:51.078533 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.078539 | controller | pattern' 2025-10-01 14:13:51.078559 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.078568 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.078576 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.078584 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.078592 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.078600 | controller | - ' exit 0' 2025-10-01 14:13:51.078608 | controller | - ' else' 2025-10-01 14:13:51.078615 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.078622 | controller | - ' exit 1' 2025-10-01 14:13:51.078630 | controller | - ' fi' 2025-10-01 14:13:51.078638 | controller | - ' ' 2025-10-01 14:13:51.078645 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.078653 | controller | them with a script' 2025-10-01 14:13:51.078660 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.078668 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.078675 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.078682 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.078688 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.078700 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.078706 | controller | - ' # it is an image' 2025-10-01 14:13:51.078711 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.078717 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.078724 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.078736 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.078744 | controller | - ' case $NAME in' 2025-10-01 14:13:51.078752 | controller | - ' API)' 2025-10-01 14:13:51.078759 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.078767 | controller | - ' ;;' 2025-10-01 14:13:51.078774 | controller | - ' esac' 2025-10-01 14:13:51.078780 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.078790 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.078795 | controller | - ' exit 1' 2025-10-01 14:13:51.078801 | controller | - ' fi' 2025-10-01 14:13:51.078808 | controller | - ' fi' 2025-10-01 14:13:51.078815 | controller | - ' done' 2025-10-01 14:13:51.078823 | controller | - ' ]' 2025-10-01 14:13:51.078831 | controller | - ' logger.go:42: 13:57:26 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.078839 | controller | : do not match regex' 2025-10-01 14:13:51.078846 | controller | - ' logger.go:42: 13:57:27 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.078854 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.078861 | controller | rely on' 2025-10-01 14:13:51.078869 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.078876 | controller | and checks that' 2025-10-01 14:13:51.078886 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.078892 | controller | pattern' 2025-10-01 14:13:51.078906 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.078915 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.078922 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.078933 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.078941 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.078948 | controller | - ' exit 0' 2025-10-01 14:13:51.078956 | controller | - ' else' 2025-10-01 14:13:51.078963 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.078970 | controller | - ' exit 1' 2025-10-01 14:13:51.078978 | controller | - ' fi' 2025-10-01 14:13:51.078985 | controller | - ' ' 2025-10-01 14:13:51.078992 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.079000 | controller | them with a script' 2025-10-01 14:13:51.079007 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.079013 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.079019 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.079024 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.079030 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.079042 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.079048 | controller | - ' # it is an image' 2025-10-01 14:13:51.079054 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.079060 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.079065 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.079071 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.079077 | controller | - ' case $NAME in' 2025-10-01 14:13:51.079087 | controller | - ' API)' 2025-10-01 14:13:51.079103 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.079110 | controller | - ' ;;' 2025-10-01 14:13:51.079115 | controller | - ' esac' 2025-10-01 14:13:51.079121 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.079127 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.079133 | controller | - ' exit 1' 2025-10-01 14:13:51.079139 | controller | - ' fi' 2025-10-01 14:13:51.079145 | controller | - ' fi' 2025-10-01 14:13:51.079151 | controller | - ' done' 2025-10-01 14:13:51.079156 | controller | - ' ]' 2025-10-01 14:13:51.079162 | controller | - ' logger.go:42: 13:57:27 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.079168 | controller | : do not match regex' 2025-10-01 14:13:51.079174 | controller | - ' logger.go:42: 13:57:28 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.079180 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.079186 | controller | rely on' 2025-10-01 14:13:51.079191 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.079197 | controller | and checks that' 2025-10-01 14:13:51.079203 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.079209 | controller | pattern' 2025-10-01 14:13:51.079215 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.079221 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.079226 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.079232 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.079238 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.079244 | controller | - ' exit 0' 2025-10-01 14:13:51.079250 | controller | - ' else' 2025-10-01 14:13:51.079255 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.079261 | controller | - ' exit 1' 2025-10-01 14:13:51.079267 | controller | - ' fi' 2025-10-01 14:13:51.079273 | controller | - ' ' 2025-10-01 14:13:51.079279 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.079285 | controller | them with a script' 2025-10-01 14:13:51.079290 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.079296 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.079302 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.079308 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.079314 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.079325 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.079331 | controller | - ' # it is an image' 2025-10-01 14:13:51.079337 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.079343 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.079348 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.079354 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.079360 | controller | - ' case $NAME in' 2025-10-01 14:13:51.079366 | controller | - ' API)' 2025-10-01 14:13:51.079372 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.079381 | controller | - ' ;;' 2025-10-01 14:13:51.079386 | controller | - ' esac' 2025-10-01 14:13:51.079393 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.079420 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.079455 | controller | - ' exit 1' 2025-10-01 14:13:51.079461 | controller | - ' fi' 2025-10-01 14:13:51.079467 | controller | - ' fi' 2025-10-01 14:13:51.079473 | controller | - ' done' 2025-10-01 14:13:51.079478 | controller | - ' ]' 2025-10-01 14:13:51.079484 | controller | - ' logger.go:42: 13:57:28 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.079490 | controller | : do not match regex' 2025-10-01 14:13:51.079496 | controller | - ' logger.go:42: 13:57:29 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.079502 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.079508 | controller | rely on' 2025-10-01 14:13:51.079513 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.079519 | controller | and checks that' 2025-10-01 14:13:51.079525 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.079531 | controller | pattern' 2025-10-01 14:13:51.079537 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.079543 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.079548 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.079554 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.079560 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.079566 | controller | - ' exit 0' 2025-10-01 14:13:51.079572 | controller | - ' else' 2025-10-01 14:13:51.079577 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.079583 | controller | - ' exit 1' 2025-10-01 14:13:51.079589 | controller | - ' fi' 2025-10-01 14:13:51.079595 | controller | - ' ' 2025-10-01 14:13:51.079609 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.079615 | controller | them with a script' 2025-10-01 14:13:51.079621 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.079627 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.079633 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.079639 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.079645 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.079657 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.079663 | controller | - ' # it is an image' 2025-10-01 14:13:51.079668 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.079674 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.079680 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.079686 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.079692 | controller | - ' case $NAME in' 2025-10-01 14:13:51.079697 | controller | - ' API)' 2025-10-01 14:13:51.079703 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.079709 | controller | - ' ;;' 2025-10-01 14:13:51.079715 | controller | - ' esac' 2025-10-01 14:13:51.079721 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.079730 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.079736 | controller | - ' exit 1' 2025-10-01 14:13:51.079742 | controller | - ' fi' 2025-10-01 14:13:51.079748 | controller | - ' fi' 2025-10-01 14:13:51.079753 | controller | - ' done' 2025-10-01 14:13:51.079759 | controller | - ' ]' 2025-10-01 14:13:51.079765 | controller | - ' logger.go:42: 13:57:30 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.079771 | controller | : do not match regex' 2025-10-01 14:13:51.079777 | controller | - ' logger.go:42: 13:57:31 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.079783 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.079788 | controller | rely on' 2025-10-01 14:13:51.079794 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.079800 | controller | and checks that' 2025-10-01 14:13:51.079806 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.079836 | controller | pattern' 2025-10-01 14:13:51.079844 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.079850 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.079856 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.079862 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.079868 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.079874 | controller | - ' exit 0' 2025-10-01 14:13:51.079879 | controller | - ' else' 2025-10-01 14:13:51.079885 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.079891 | controller | - ' exit 1' 2025-10-01 14:13:51.079897 | controller | - ' fi' 2025-10-01 14:13:51.079903 | controller | - ' ' 2025-10-01 14:13:51.079909 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.079915 | controller | them with a script' 2025-10-01 14:13:51.079920 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.079926 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.079932 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.079938 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.079944 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.079955 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.079964 | controller | - ' # it is an image' 2025-10-01 14:13:51.079970 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.079975 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.079983 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.079989 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.079995 | controller | - ' case $NAME in' 2025-10-01 14:13:51.080001 | controller | - ' API)' 2025-10-01 14:13:51.080007 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.080012 | controller | - ' ;;' 2025-10-01 14:13:51.080018 | controller | - ' esac' 2025-10-01 14:13:51.080024 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.080030 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.080036 | controller | - ' exit 1' 2025-10-01 14:13:51.080041 | controller | - ' fi' 2025-10-01 14:13:51.080047 | controller | - ' fi' 2025-10-01 14:13:51.080056 | controller | - ' done' 2025-10-01 14:13:51.080062 | controller | - ' ]' 2025-10-01 14:13:51.080070 | controller | - ' logger.go:42: 13:57:31 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.080076 | controller | : do not match regex' 2025-10-01 14:13:51.080090 | controller | - ' logger.go:42: 13:57:32 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.080097 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.080102 | controller | rely on' 2025-10-01 14:13:51.080108 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.080114 | controller | and checks that' 2025-10-01 14:13:51.080120 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.080126 | controller | pattern' 2025-10-01 14:13:51.080132 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.080138 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.080143 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.080149 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.080155 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.080161 | controller | - ' exit 0' 2025-10-01 14:13:51.080167 | controller | - ' else' 2025-10-01 14:13:51.080173 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.080178 | controller | - ' exit 1' 2025-10-01 14:13:51.080184 | controller | - ' fi' 2025-10-01 14:13:51.080190 | controller | - ' ' 2025-10-01 14:13:51.080196 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.080201 | controller | them with a script' 2025-10-01 14:13:51.080207 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.080213 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.080219 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.080225 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.080231 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.080242 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.080248 | controller | - ' # it is an image' 2025-10-01 14:13:51.080254 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.080260 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.080266 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.080271 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.080277 | controller | - ' case $NAME in' 2025-10-01 14:13:51.080283 | controller | - ' API)' 2025-10-01 14:13:51.080289 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.080295 | controller | - ' ;;' 2025-10-01 14:13:51.080300 | controller | - ' esac' 2025-10-01 14:13:51.080306 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.080312 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.080318 | controller | - ' exit 1' 2025-10-01 14:13:51.080324 | controller | - ' fi' 2025-10-01 14:13:51.080330 | controller | - ' fi' 2025-10-01 14:13:51.080335 | controller | - ' done' 2025-10-01 14:13:51.080341 | controller | - ' ]' 2025-10-01 14:13:51.080347 | controller | - ' logger.go:42: 13:57:32 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.080356 | controller | : do not match regex' 2025-10-01 14:13:51.080362 | controller | - ' logger.go:42: 13:57:33 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.080367 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.080373 | controller | rely on' 2025-10-01 14:13:51.080379 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.080385 | controller | and checks that' 2025-10-01 14:13:51.080391 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.080413 | controller | pattern' 2025-10-01 14:13:51.080426 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.080434 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.080440 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.080446 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.080456 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.080461 | controller | - ' exit 0' 2025-10-01 14:13:51.080467 | controller | - ' else' 2025-10-01 14:13:51.080473 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.080479 | controller | - ' exit 1' 2025-10-01 14:13:51.080485 | controller | - ' fi' 2025-10-01 14:13:51.080490 | controller | - ' ' 2025-10-01 14:13:51.080496 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.080502 | controller | them with a script' 2025-10-01 14:13:51.080508 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.080514 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.080520 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.080525 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.080534 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.080546 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.080561 | controller | - ' # it is an image' 2025-10-01 14:13:51.080567 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.080573 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.080579 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.080585 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.080591 | controller | - ' case $NAME in' 2025-10-01 14:13:51.080597 | controller | - ' API)' 2025-10-01 14:13:51.080602 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.080608 | controller | - ' ;;' 2025-10-01 14:13:51.080614 | controller | - ' esac' 2025-10-01 14:13:51.080620 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.080626 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.080632 | controller | - ' exit 1' 2025-10-01 14:13:51.080637 | controller | - ' fi' 2025-10-01 14:13:51.080643 | controller | - ' fi' 2025-10-01 14:13:51.080649 | controller | - ' done' 2025-10-01 14:13:51.080655 | controller | - ' ]' 2025-10-01 14:13:51.080661 | controller | - ' logger.go:42: 13:57:33 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.080667 | controller | : do not match regex' 2025-10-01 14:13:51.080672 | controller | - ' logger.go:42: 13:57:34 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.080681 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.080687 | controller | rely on' 2025-10-01 14:13:51.080693 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.080699 | controller | and checks that' 2025-10-01 14:13:51.080708 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.080714 | controller | pattern' 2025-10-01 14:13:51.080720 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.080726 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.080732 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.080737 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.080743 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.080749 | controller | - ' exit 0' 2025-10-01 14:13:51.080755 | controller | - ' else' 2025-10-01 14:13:51.080761 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.080767 | controller | - ' exit 1' 2025-10-01 14:13:51.080772 | controller | - ' fi' 2025-10-01 14:13:51.080778 | controller | - ' ' 2025-10-01 14:13:51.080784 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.080790 | controller | them with a script' 2025-10-01 14:13:51.080796 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.080802 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.080808 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.080813 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.080819 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.080831 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.080837 | controller | - ' # it is an image' 2025-10-01 14:13:51.080842 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.080848 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.080854 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.080860 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.080866 | controller | - ' case $NAME in' 2025-10-01 14:13:51.080872 | controller | - ' API)' 2025-10-01 14:13:51.080877 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.080884 | controller | - ' ;;' 2025-10-01 14:13:51.080890 | controller | - ' esac' 2025-10-01 14:13:51.080896 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.080901 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.080907 | controller | - ' exit 1' 2025-10-01 14:13:51.080913 | controller | - ' fi' 2025-10-01 14:13:51.080919 | controller | - ' fi' 2025-10-01 14:13:51.080925 | controller | - ' done' 2025-10-01 14:13:51.080930 | controller | - ' ]' 2025-10-01 14:13:51.080936 | controller | - ' logger.go:42: 13:57:34 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.080942 | controller | : do not match regex' 2025-10-01 14:13:51.080948 | controller | - ' logger.go:42: 13:57:35 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.080954 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.080959 | controller | rely on' 2025-10-01 14:13:51.080970 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.080979 | controller | and checks that' 2025-10-01 14:13:51.080985 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.080991 | controller | pattern' 2025-10-01 14:13:51.080996 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.081002 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.081016 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.081022 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.081028 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.081034 | controller | - ' exit 0' 2025-10-01 14:13:51.081040 | controller | - ' else' 2025-10-01 14:13:51.081045 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.081051 | controller | - ' exit 1' 2025-10-01 14:13:51.081057 | controller | - ' fi' 2025-10-01 14:13:51.081063 | controller | - ' ' 2025-10-01 14:13:51.081069 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.081075 | controller | them with a script' 2025-10-01 14:13:51.081080 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.081086 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.081092 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.081098 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.081104 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.081115 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.081121 | controller | - ' # it is an image' 2025-10-01 14:13:51.081127 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.081133 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.081138 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.081144 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.081150 | controller | - ' case $NAME in' 2025-10-01 14:13:51.081156 | controller | - ' API)' 2025-10-01 14:13:51.081161 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.081167 | controller | - ' ;;' 2025-10-01 14:13:51.081173 | controller | - ' esac' 2025-10-01 14:13:51.081179 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.081185 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.081190 | controller | - ' exit 1' 2025-10-01 14:13:51.081196 | controller | - ' fi' 2025-10-01 14:13:51.081202 | controller | - ' fi' 2025-10-01 14:13:51.081208 | controller | - ' done' 2025-10-01 14:13:51.081214 | controller | - ' ]' 2025-10-01 14:13:51.081219 | controller | - ' logger.go:42: 13:57:36 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.081225 | controller | : do not match regex' 2025-10-01 14:13:51.081231 | controller | - ' logger.go:42: 13:57:37 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.081237 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.081243 | controller | rely on' 2025-10-01 14:13:51.081248 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.081254 | controller | and checks that' 2025-10-01 14:13:51.081260 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.081358 | controller | pattern' 2025-10-01 14:13:51.081364 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.081370 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.081376 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.081382 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.081388 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.081393 | controller | - ' exit 0' 2025-10-01 14:13:51.081415 | controller | - ' else' 2025-10-01 14:13:51.081430 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.081436 | controller | - ' exit 1' 2025-10-01 14:13:51.081442 | controller | - ' fi' 2025-10-01 14:13:51.081448 | controller | - ' ' 2025-10-01 14:13:51.081454 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.081460 | controller | them with a script' 2025-10-01 14:13:51.081465 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.081471 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.081477 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.081483 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.081489 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.081500 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.081506 | controller | - ' # it is an image' 2025-10-01 14:13:51.081512 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.081518 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.081523 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.081529 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.081535 | controller | - ' case $NAME in' 2025-10-01 14:13:51.081541 | controller | - ' API)' 2025-10-01 14:13:51.081546 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.081552 | controller | - ' ;;' 2025-10-01 14:13:51.081558 | controller | - ' esac' 2025-10-01 14:13:51.081572 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.081578 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.081584 | controller | - ' exit 1' 2025-10-01 14:13:51.081590 | controller | - ' fi' 2025-10-01 14:13:51.081596 | controller | - ' fi' 2025-10-01 14:13:51.081602 | controller | - ' done' 2025-10-01 14:13:51.081607 | controller | - ' ]' 2025-10-01 14:13:51.081613 | controller | - ' logger.go:42: 13:57:37 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.081619 | controller | : do not match regex' 2025-10-01 14:13:51.081625 | controller | - ' logger.go:42: 13:57:38 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.081631 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.081636 | controller | rely on' 2025-10-01 14:13:51.081642 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.081648 | controller | and checks that' 2025-10-01 14:13:51.081654 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.081660 | controller | pattern' 2025-10-01 14:13:51.081665 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.081671 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.081680 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.081686 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.081692 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.081698 | controller | - ' exit 0' 2025-10-01 14:13:51.081703 | controller | - ' else' 2025-10-01 14:13:51.081709 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.081715 | controller | - ' exit 1' 2025-10-01 14:13:51.081721 | controller | - ' fi' 2025-10-01 14:13:51.081726 | controller | - ' ' 2025-10-01 14:13:51.081732 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.081738 | controller | them with a script' 2025-10-01 14:13:51.081744 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.081750 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.081755 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.081761 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.081767 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.081778 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.081784 | controller | - ' # it is an image' 2025-10-01 14:13:51.081790 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.081796 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.081802 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.081807 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.081813 | controller | - ' case $NAME in' 2025-10-01 14:13:51.081819 | controller | - ' API)' 2025-10-01 14:13:51.081825 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.081830 | controller | - ' ;;' 2025-10-01 14:13:51.081836 | controller | - ' esac' 2025-10-01 14:13:51.081842 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.081848 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.081854 | controller | - ' exit 1' 2025-10-01 14:13:51.081859 | controller | - ' fi' 2025-10-01 14:13:51.081865 | controller | - ' fi' 2025-10-01 14:13:51.081871 | controller | - ' done' 2025-10-01 14:13:51.081877 | controller | - ' ]' 2025-10-01 14:13:51.081883 | controller | - ' logger.go:42: 13:57:38 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.081888 | controller | : do not match regex' 2025-10-01 14:13:51.081894 | controller | - ' logger.go:42: 13:57:39 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.081900 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.081906 | controller | rely on' 2025-10-01 14:13:51.081912 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.081917 | controller | and checks that' 2025-10-01 14:13:51.081923 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.081929 | controller | pattern' 2025-10-01 14:13:51.081935 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.081940 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.081946 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.081955 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.081961 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.081966 | controller | - ' exit 0' 2025-10-01 14:13:51.081972 | controller | - ' else' 2025-10-01 14:13:51.081978 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.081984 | controller | - ' exit 1' 2025-10-01 14:13:51.081990 | controller | - ' fi' 2025-10-01 14:13:51.081995 | controller | - ' ' 2025-10-01 14:13:51.082001 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.082007 | controller | them with a script' 2025-10-01 14:13:51.082020 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.082026 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.082035 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.082041 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.082047 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.082059 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.082064 | controller | - ' # it is an image' 2025-10-01 14:13:51.082070 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.082076 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.082082 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.082088 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.082095 | controller | - ' case $NAME in' 2025-10-01 14:13:51.082102 | controller | - ' API)' 2025-10-01 14:13:51.082110 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.082214 | controller | - ' ;;' 2025-10-01 14:13:51.082222 | controller | - ' esac' 2025-10-01 14:13:51.082232 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.082238 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.082244 | controller | - ' exit 1' 2025-10-01 14:13:51.082250 | controller | - ' fi' 2025-10-01 14:13:51.082256 | controller | - ' fi' 2025-10-01 14:13:51.082262 | controller | - ' done' 2025-10-01 14:13:51.082267 | controller | - ' ]' 2025-10-01 14:13:51.082273 | controller | - ' logger.go:42: 13:57:39 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.082279 | controller | : do not match regex' 2025-10-01 14:13:51.082285 | controller | - ' logger.go:42: 13:57:40 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.082291 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.082297 | controller | rely on' 2025-10-01 14:13:51.082303 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.082309 | controller | and checks that' 2025-10-01 14:13:51.082315 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.082321 | controller | pattern' 2025-10-01 14:13:51.082327 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.082335 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.082341 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.082347 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.082353 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.082359 | controller | - ' exit 0' 2025-10-01 14:13:51.082369 | controller | - ' else' 2025-10-01 14:13:51.082375 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.082381 | controller | - ' exit 1' 2025-10-01 14:13:51.082387 | controller | - ' fi' 2025-10-01 14:13:51.082393 | controller | - ' ' 2025-10-01 14:13:51.082423 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.082436 | controller | them with a script' 2025-10-01 14:13:51.082445 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.082452 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.082458 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.082464 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.082470 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.082482 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.082488 | controller | - ' # it is an image' 2025-10-01 14:13:51.082494 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.082500 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.082505 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.082511 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.082517 | controller | - ' case $NAME in' 2025-10-01 14:13:51.082523 | controller | - ' API)' 2025-10-01 14:13:51.082529 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.082535 | controller | - ' ;;' 2025-10-01 14:13:51.082541 | controller | - ' esac' 2025-10-01 14:13:51.082547 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.082552 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.082558 | controller | - ' exit 1' 2025-10-01 14:13:51.082564 | controller | - ' fi' 2025-10-01 14:13:51.082570 | controller | - ' fi' 2025-10-01 14:13:51.082576 | controller | - ' done' 2025-10-01 14:13:51.082582 | controller | - ' ]' 2025-10-01 14:13:51.082588 | controller | - ' logger.go:42: 13:57:40 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.082594 | controller | : do not match regex' 2025-10-01 14:13:51.082600 | controller | - ' logger.go:42: 13:57:41 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.082605 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.082621 | controller | rely on' 2025-10-01 14:13:51.082627 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.082634 | controller | and checks that' 2025-10-01 14:13:51.082642 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.082700 | controller | pattern' 2025-10-01 14:13:51.082707 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.082713 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.082718 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.082724 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.082730 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.082736 | controller | - ' exit 0' 2025-10-01 14:13:51.082744 | controller | - ' else' 2025-10-01 14:13:51.082795 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.082804 | controller | - ' exit 1' 2025-10-01 14:13:51.082813 | controller | - ' fi' 2025-10-01 14:13:51.082819 | controller | - ' ' 2025-10-01 14:13:51.082829 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.082834 | controller | them with a script' 2025-10-01 14:13:51.082840 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.082846 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.082852 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.082858 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.082864 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.082875 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.082881 | controller | - ' # it is an image' 2025-10-01 14:13:51.082887 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.082893 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.082898 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.082904 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.082910 | controller | - ' case $NAME in' 2025-10-01 14:13:51.082916 | controller | - ' API)' 2025-10-01 14:13:51.082922 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.082927 | controller | - ' ;;' 2025-10-01 14:13:51.082933 | controller | - ' esac' 2025-10-01 14:13:51.082939 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.082945 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.082950 | controller | - ' exit 1' 2025-10-01 14:13:51.082956 | controller | - ' fi' 2025-10-01 14:13:51.082962 | controller | - ' fi' 2025-10-01 14:13:51.082968 | controller | - ' done' 2025-10-01 14:13:51.082974 | controller | - ' ]' 2025-10-01 14:13:51.082979 | controller | - ' logger.go:42: 13:57:41 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.082985 | controller | : do not match regex' 2025-10-01 14:13:51.082991 | controller | - ' logger.go:42: 13:57:42 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.082997 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.083003 | controller | rely on' 2025-10-01 14:13:51.083008 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.083014 | controller | and checks that' 2025-10-01 14:13:51.083020 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.083026 | controller | pattern' 2025-10-01 14:13:51.083032 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.083037 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.083043 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.083049 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.083055 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.083060 | controller | - ' exit 0' 2025-10-01 14:13:51.083066 | controller | - ' else' 2025-10-01 14:13:51.083072 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.083078 | controller | - ' exit 1' 2025-10-01 14:13:51.083084 | controller | - ' fi' 2025-10-01 14:13:51.083090 | controller | - ' ' 2025-10-01 14:13:51.083095 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.083104 | controller | them with a script' 2025-10-01 14:13:51.083110 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.083116 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.083121 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.083127 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.083133 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.083145 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.083150 | controller | - ' # it is an image' 2025-10-01 14:13:51.083156 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.083172 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.083178 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.083184 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.083190 | controller | - ' case $NAME in' 2025-10-01 14:13:51.083196 | controller | - ' API)' 2025-10-01 14:13:51.083201 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.083207 | controller | - ' ;;' 2025-10-01 14:13:51.083213 | controller | - ' esac' 2025-10-01 14:13:51.083219 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.083225 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.083230 | controller | - ' exit 1' 2025-10-01 14:13:51.083236 | controller | - ' fi' 2025-10-01 14:13:51.083242 | controller | - ' fi' 2025-10-01 14:13:51.083248 | controller | - ' done' 2025-10-01 14:13:51.083253 | controller | - ' ]' 2025-10-01 14:13:51.083259 | controller | - ' logger.go:42: 13:57:43 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-10-01 14:13:51.083265 | controller | : do not match regex' 2025-10-01 14:13:51.083271 | controller | - ' logger.go:42: 13:57:44 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.083279 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.083285 | controller | rely on' 2025-10-01 14:13:51.083291 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.083297 | controller | and checks that' 2025-10-01 14:13:51.083303 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.083309 | controller | pattern' 2025-10-01 14:13:51.083314 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.083320 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.083326 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.083332 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.083337 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.083346 | controller | - ' exit 0' 2025-10-01 14:13:51.083351 | controller | - ' else' 2025-10-01 14:13:51.083357 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.083363 | controller | - ' exit 1' 2025-10-01 14:13:51.083369 | controller | - ' fi' 2025-10-01 14:13:51.083375 | controller | - ' ' 2025-10-01 14:13:51.083380 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.083386 | controller | them with a script' 2025-10-01 14:13:51.083392 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.083414 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.083433 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.083441 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.083447 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.083461 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.083468 | controller | - ' # it is an image' 2025-10-01 14:13:51.083475 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.083482 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.083489 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.083501 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.083509 | controller | - ' case $NAME in' 2025-10-01 14:13:51.083515 | controller | - ' API)' 2025-10-01 14:13:51.083520 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.083526 | controller | - ' ;;' 2025-10-01 14:13:51.083532 | controller | - ' esac' 2025-10-01 14:13:51.083538 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.083544 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.083549 | controller | - ' exit 1' 2025-10-01 14:13:51.083555 | controller | - ' fi' 2025-10-01 14:13:51.083561 | controller | - ' fi' 2025-10-01 14:13:51.083567 | controller | - ' done' 2025-10-01 14:13:51.083572 | controller | - ' ]' 2025-10-01 14:13:51.083578 | controller | - ' logger.go:42: 13:57:45 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.083584 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.083590 | controller | rely on' 2025-10-01 14:13:51.083595 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.083601 | controller | and checks that' 2025-10-01 14:13:51.083607 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.083614 | controller | pattern' 2025-10-01 14:13:51.083622 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.083629 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.083637 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.083644 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.083652 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.083660 | controller | - ' exit 0' 2025-10-01 14:13:51.083667 | controller | - ' else' 2025-10-01 14:13:51.083686 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.083694 | controller | - ' exit 1' 2025-10-01 14:13:51.083701 | controller | - ' fi' 2025-10-01 14:13:51.083708 | controller | - ' ' 2025-10-01 14:13:51.083715 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.083723 | controller | them with a script' 2025-10-01 14:13:51.083730 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.083737 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.083745 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.083752 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.083764 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.083783 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.083790 | controller | - ' # it is an image' 2025-10-01 14:13:51.083798 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.083805 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.083812 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.083835 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.083851 | controller | - ' case $NAME in' 2025-10-01 14:13:51.083858 | controller | - ' API)' 2025-10-01 14:13:51.083865 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.083873 | controller | - ' ;;' 2025-10-01 14:13:51.083881 | controller | - ' esac' 2025-10-01 14:13:51.083888 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.083896 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.083904 | controller | - ' exit 1' 2025-10-01 14:13:51.083912 | controller | - ' fi' 2025-10-01 14:13:51.083920 | controller | - ' fi' 2025-10-01 14:13:51.083927 | controller | - ' done' 2025-10-01 14:13:51.083935 | controller | - ' ]' 2025-10-01 14:13:51.083942 | controller | - ' logger.go:42: 13:57:46 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.083950 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.083956 | controller | rely on' 2025-10-01 14:13:51.083962 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.083968 | controller | and checks that' 2025-10-01 14:13:51.083974 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.083980 | controller | pattern' 2025-10-01 14:13:51.083986 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.083993 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.084001 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.084009 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.084016 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.084023 | controller | - ' exit 0' 2025-10-01 14:13:51.084029 | controller | - ' else' 2025-10-01 14:13:51.084035 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.084041 | controller | - ' exit 1' 2025-10-01 14:13:51.084047 | controller | - ' fi' 2025-10-01 14:13:51.084055 | controller | - ' ' 2025-10-01 14:13:51.084062 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.084070 | controller | them with a script' 2025-10-01 14:13:51.084078 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.084085 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.084093 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.084100 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.084108 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.084120 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.084127 | controller | - ' # it is an image' 2025-10-01 14:13:51.084135 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.084148 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.084156 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.084169 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.084176 | controller | - ' case $NAME in' 2025-10-01 14:13:51.084184 | controller | - ' API)' 2025-10-01 14:13:51.084191 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.084199 | controller | - ' ;;' 2025-10-01 14:13:51.084210 | controller | - ' esac' 2025-10-01 14:13:51.084218 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.084226 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.084234 | controller | - ' exit 1' 2025-10-01 14:13:51.084242 | controller | - ' fi' 2025-10-01 14:13:51.084250 | controller | - ' fi' 2025-10-01 14:13:51.084257 | controller | - ' done' 2025-10-01 14:13:51.084265 | controller | - ' ]' 2025-10-01 14:13:51.084273 | controller | - ' logger.go:42: 13:57:47 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.084292 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.084300 | controller | rely on' 2025-10-01 14:13:51.084308 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.084316 | controller | and checks that' 2025-10-01 14:13:51.084324 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.084332 | controller | pattern' 2025-10-01 14:13:51.084339 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.084346 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.084353 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.084361 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.084368 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.084375 | controller | - ' exit 0' 2025-10-01 14:13:51.084383 | controller | - ' else' 2025-10-01 14:13:51.084390 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.084397 | controller | - ' exit 1' 2025-10-01 14:13:51.084429 | controller | - ' fi' 2025-10-01 14:13:51.084438 | controller | - ' ' 2025-10-01 14:13:51.084445 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.084453 | controller | them with a script' 2025-10-01 14:13:51.084461 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.084468 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.084476 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.084483 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.084491 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.084507 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.084514 | controller | - ' # it is an image' 2025-10-01 14:13:51.084521 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.084529 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.084537 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.084545 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.084559 | controller | - ' case $NAME in' 2025-10-01 14:13:51.084567 | controller | - ' API)' 2025-10-01 14:13:51.084575 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.084587 | controller | - ' ;;' 2025-10-01 14:13:51.084595 | controller | - ' esac' 2025-10-01 14:13:51.084603 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.084611 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.084619 | controller | - ' exit 1' 2025-10-01 14:13:51.084627 | controller | - ' fi' 2025-10-01 14:13:51.084634 | controller | - ' fi' 2025-10-01 14:13:51.084643 | controller | - ' done' 2025-10-01 14:13:51.084651 | controller | - ' ]' 2025-10-01 14:13:51.084659 | controller | - ' logger.go:42: 13:57:48 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.084667 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.084675 | controller | rely on' 2025-10-01 14:13:51.084682 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.084690 | controller | and checks that' 2025-10-01 14:13:51.084698 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.084706 | controller | pattern' 2025-10-01 14:13:51.084713 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.084721 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.084729 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.084741 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.084749 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.084757 | controller | - ' exit 0' 2025-10-01 14:13:51.084766 | controller | - ' else' 2025-10-01 14:13:51.084774 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.084782 | controller | - ' exit 1' 2025-10-01 14:13:51.084790 | controller | - ' fi' 2025-10-01 14:13:51.084798 | controller | - ' ' 2025-10-01 14:13:51.084806 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.084814 | controller | them with a script' 2025-10-01 14:13:51.084822 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.084830 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.084839 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.084847 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.084856 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.084872 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.084880 | controller | - ' # it is an image' 2025-10-01 14:13:51.084888 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.084896 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.084916 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.084926 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.084934 | controller | - ' case $NAME in' 2025-10-01 14:13:51.084942 | controller | - ' API)' 2025-10-01 14:13:51.084950 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.084958 | controller | - ' ;;' 2025-10-01 14:13:51.084966 | controller | - ' esac' 2025-10-01 14:13:51.084974 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.084982 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.084990 | controller | - ' exit 1' 2025-10-01 14:13:51.084998 | controller | - ' fi' 2025-10-01 14:13:51.085012 | controller | - ' fi' 2025-10-01 14:13:51.085020 | controller | - ' done' 2025-10-01 14:13:51.085028 | controller | - ' ]' 2025-10-01 14:13:51.085036 | controller | - ' logger.go:42: 13:57:50 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.085043 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.085051 | controller | rely on' 2025-10-01 14:13:51.085059 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.085067 | controller | and checks that' 2025-10-01 14:13:51.085075 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.085082 | controller | pattern' 2025-10-01 14:13:51.085090 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.085099 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.085107 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.085115 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.085123 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.085131 | controller | - ' exit 0' 2025-10-01 14:13:51.085139 | controller | - ' else' 2025-10-01 14:13:51.085148 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.085155 | controller | - ' exit 1' 2025-10-01 14:13:51.085163 | controller | - ' fi' 2025-10-01 14:13:51.085172 | controller | - ' ' 2025-10-01 14:13:51.085180 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.085188 | controller | them with a script' 2025-10-01 14:13:51.085196 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.085204 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.085210 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.085217 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.085223 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.085236 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.085242 | controller | - ' # it is an image' 2025-10-01 14:13:51.085249 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.085255 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.085261 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.085268 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.085274 | controller | - ' case $NAME in' 2025-10-01 14:13:51.085281 | controller | - ' API)' 2025-10-01 14:13:51.085351 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.085358 | controller | - ' ;;' 2025-10-01 14:13:51.085366 | controller | - ' esac' 2025-10-01 14:13:51.085374 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.085382 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.085389 | controller | - ' exit 1' 2025-10-01 14:13:51.085414 | controller | - ' fi' 2025-10-01 14:13:51.085429 | controller | - ' fi' 2025-10-01 14:13:51.085437 | controller | - ' done' 2025-10-01 14:13:51.085445 | controller | - ' ]' 2025-10-01 14:13:51.085453 | controller | - ' logger.go:42: 13:57:51 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.085461 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.085469 | controller | rely on' 2025-10-01 14:13:51.085481 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.085489 | controller | and checks that' 2025-10-01 14:13:51.085497 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.085505 | controller | pattern' 2025-10-01 14:13:51.085513 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.085521 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.085530 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.085538 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.085545 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.085553 | controller | - ' exit 0' 2025-10-01 14:13:51.085561 | controller | - ' else' 2025-10-01 14:13:51.085569 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.085577 | controller | - ' exit 1' 2025-10-01 14:13:51.085585 | controller | - ' fi' 2025-10-01 14:13:51.085593 | controller | - ' ' 2025-10-01 14:13:51.085601 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.085609 | controller | them with a script' 2025-10-01 14:13:51.085630 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.085639 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.085648 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.085656 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.085664 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.085679 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.085687 | controller | - ' # it is an image' 2025-10-01 14:13:51.085695 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.085704 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.085712 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.085720 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.085728 | controller | - ' case $NAME in' 2025-10-01 14:13:51.085736 | controller | - ' API)' 2025-10-01 14:13:51.085744 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.085752 | controller | - ' ;;' 2025-10-01 14:13:51.085760 | controller | - ' esac' 2025-10-01 14:13:51.085768 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.085776 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.085784 | controller | - ' exit 1' 2025-10-01 14:13:51.085792 | controller | - ' fi' 2025-10-01 14:13:51.085805 | controller | - ' fi' 2025-10-01 14:13:51.085814 | controller | - ' done' 2025-10-01 14:13:51.085823 | controller | - ' ]' 2025-10-01 14:13:51.085831 | controller | - ' logger.go:42: 13:57:52 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.085839 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.085847 | controller | rely on' 2025-10-01 14:13:51.085855 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.085863 | controller | and checks that' 2025-10-01 14:13:51.085871 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.085878 | controller | pattern' 2025-10-01 14:13:51.085886 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.085899 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.085907 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.085916 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.085924 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.085932 | controller | - ' exit 0' 2025-10-01 14:13:51.085940 | controller | - ' else' 2025-10-01 14:13:51.085948 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.085955 | controller | - ' exit 1' 2025-10-01 14:13:51.085963 | controller | - ' fi' 2025-10-01 14:13:51.085971 | controller | - ' ' 2025-10-01 14:13:51.085979 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.085987 | controller | them with a script' 2025-10-01 14:13:51.085995 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.086003 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.086011 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.086020 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.086028 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.086044 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.086056 | controller | - ' # it is an image' 2025-10-01 14:13:51.086064 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.086072 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.086080 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.086088 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.086096 | controller | - ' case $NAME in' 2025-10-01 14:13:51.086104 | controller | - ' API)' 2025-10-01 14:13:51.086112 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.086121 | controller | - ' ;;' 2025-10-01 14:13:51.086130 | controller | - ' esac' 2025-10-01 14:13:51.086140 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.086149 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.086158 | controller | - ' exit 1' 2025-10-01 14:13:51.086166 | controller | - ' fi' 2025-10-01 14:13:51.086174 | controller | - ' fi' 2025-10-01 14:13:51.086182 | controller | - ' done' 2025-10-01 14:13:51.086189 | controller | - ' ]' 2025-10-01 14:13:51.086197 | controller | - ' logger.go:42: 13:57:53 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.086206 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.086214 | controller | rely on' 2025-10-01 14:13:51.086222 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.086230 | controller | and checks that' 2025-10-01 14:13:51.086238 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.086246 | controller | pattern' 2025-10-01 14:13:51.086265 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.086274 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.086290 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.086299 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.086311 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.086319 | controller | - ' exit 0' 2025-10-01 14:13:51.086328 | controller | - ' else' 2025-10-01 14:13:51.086336 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.086344 | controller | - ' exit 1' 2025-10-01 14:13:51.086351 | controller | - ' fi' 2025-10-01 14:13:51.086359 | controller | - ' ' 2025-10-01 14:13:51.086367 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.086375 | controller | them with a script' 2025-10-01 14:13:51.086383 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.086390 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.086416 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.086429 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.086438 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.086455 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.086463 | controller | - ' # it is an image' 2025-10-01 14:13:51.086471 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.086479 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.086487 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.086494 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.086502 | controller | - ' case $NAME in' 2025-10-01 14:13:51.086510 | controller | - ' API)' 2025-10-01 14:13:51.086518 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.086525 | controller | - ' ;;' 2025-10-01 14:13:51.086534 | controller | - ' esac' 2025-10-01 14:13:51.086542 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.086550 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.086558 | controller | - ' exit 1' 2025-10-01 14:13:51.086566 | controller | - ' fi' 2025-10-01 14:13:51.086574 | controller | - ' fi' 2025-10-01 14:13:51.086582 | controller | - ' done' 2025-10-01 14:13:51.086590 | controller | - ' ]' 2025-10-01 14:13:51.086598 | controller | - ' logger.go:42: 13:57:54 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.086606 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.086613 | controller | rely on' 2025-10-01 14:13:51.086621 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.086629 | controller | and checks that' 2025-10-01 14:13:51.086637 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.086645 | controller | pattern' 2025-10-01 14:13:51.086653 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.086661 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.086669 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.086677 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.086685 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.086693 | controller | - ' exit 0' 2025-10-01 14:13:51.086702 | controller | - ' else' 2025-10-01 14:13:51.086710 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.086718 | controller | - ' exit 1' 2025-10-01 14:13:51.086726 | controller | - ' fi' 2025-10-01 14:13:51.086739 | controller | - ' ' 2025-10-01 14:13:51.086748 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.086756 | controller | them with a script' 2025-10-01 14:13:51.086764 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.086772 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.086781 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.086789 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.086797 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.086813 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.086821 | controller | - ' # it is an image' 2025-10-01 14:13:51.086828 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.086836 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.086844 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.086853 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.086861 | controller | - ' case $NAME in' 2025-10-01 14:13:51.086869 | controller | - ' API)' 2025-10-01 14:13:51.086890 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.086899 | controller | - ' ;;' 2025-10-01 14:13:51.086907 | controller | - ' esac' 2025-10-01 14:13:51.086915 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.086923 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.086930 | controller | - ' exit 1' 2025-10-01 14:13:51.086939 | controller | - ' fi' 2025-10-01 14:13:51.086947 | controller | - ' fi' 2025-10-01 14:13:51.086955 | controller | - ' done' 2025-10-01 14:13:51.086963 | controller | - ' ]' 2025-10-01 14:13:51.086971 | controller | - ' logger.go:42: 13:57:56 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.086979 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.086987 | controller | rely on' 2025-10-01 14:13:51.086994 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.087002 | controller | and checks that' 2025-10-01 14:13:51.087009 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.087017 | controller | pattern' 2025-10-01 14:13:51.087025 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.087033 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.087041 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.087049 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.087057 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.087065 | controller | - ' exit 0' 2025-10-01 14:13:51.087072 | controller | - ' else' 2025-10-01 14:13:51.087080 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.087088 | controller | - ' exit 1' 2025-10-01 14:13:51.087096 | controller | - ' fi' 2025-10-01 14:13:51.087104 | controller | - ' ' 2025-10-01 14:13:51.087112 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.087120 | controller | them with a script' 2025-10-01 14:13:51.087128 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.087135 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.087148 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.087156 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.087164 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.087179 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.087188 | controller | - ' # it is an image' 2025-10-01 14:13:51.087196 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.087204 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.087211 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.087219 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.087227 | controller | - ' case $NAME in' 2025-10-01 14:13:51.087235 | controller | - ' API)' 2025-10-01 14:13:51.087243 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.087250 | controller | - ' ;;' 2025-10-01 14:13:51.087258 | controller | - ' esac' 2025-10-01 14:13:51.087266 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.087274 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.087281 | controller | - ' exit 1' 2025-10-01 14:13:51.087293 | controller | - ' fi' 2025-10-01 14:13:51.087301 | controller | - ' fi' 2025-10-01 14:13:51.087308 | controller | - ' done' 2025-10-01 14:13:51.087316 | controller | - ' ]' 2025-10-01 14:13:51.087323 | controller | - ' logger.go:42: 13:57:57 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.087331 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.087337 | controller | rely on' 2025-10-01 14:13:51.087343 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.087349 | controller | and checks that' 2025-10-01 14:13:51.087357 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.087363 | controller | pattern' 2025-10-01 14:13:51.087369 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.087375 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.087380 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.087386 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.087392 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.087417 | controller | - ' exit 0' 2025-10-01 14:13:51.087430 | controller | - ' else' 2025-10-01 14:13:51.087437 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.087445 | controller | - ' exit 1' 2025-10-01 14:13:51.087456 | controller | - ' fi' 2025-10-01 14:13:51.087463 | controller | - ' ' 2025-10-01 14:13:51.087471 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.087478 | controller | them with a script' 2025-10-01 14:13:51.087485 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.087493 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.087503 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.087522 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.087529 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.087544 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.087552 | controller | - ' # it is an image' 2025-10-01 14:13:51.087558 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.087564 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.087570 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.087576 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.087582 | controller | - ' case $NAME in' 2025-10-01 14:13:51.087588 | controller | - ' API)' 2025-10-01 14:13:51.087594 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.087600 | controller | - ' ;;' 2025-10-01 14:13:51.087606 | controller | - ' esac' 2025-10-01 14:13:51.087612 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.087617 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.087623 | controller | - ' exit 1' 2025-10-01 14:13:51.087632 | controller | - ' fi' 2025-10-01 14:13:51.087637 | controller | - ' fi' 2025-10-01 14:13:51.087643 | controller | - ' done' 2025-10-01 14:13:51.087649 | controller | - ' ]' 2025-10-01 14:13:51.087655 | controller | - ' logger.go:42: 13:57:58 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.087661 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.087667 | controller | rely on' 2025-10-01 14:13:51.087672 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.087678 | controller | and checks that' 2025-10-01 14:13:51.087684 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.087690 | controller | pattern' 2025-10-01 14:13:51.087696 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.087701 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.087707 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.087713 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.087719 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.087724 | controller | - ' exit 0' 2025-10-01 14:13:51.087730 | controller | - ' else' 2025-10-01 14:13:51.087736 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.087742 | controller | - ' exit 1' 2025-10-01 14:13:51.087747 | controller | - ' fi' 2025-10-01 14:13:51.087753 | controller | - ' ' 2025-10-01 14:13:51.087759 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.087765 | controller | them with a script' 2025-10-01 14:13:51.087771 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.087776 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.087782 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.087788 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.087794 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.087805 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.087811 | controller | - ' # it is an image' 2025-10-01 14:13:51.087817 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.087823 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.087843 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.087854 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.087860 | controller | - ' case $NAME in' 2025-10-01 14:13:51.087866 | controller | - ' API)' 2025-10-01 14:13:51.087872 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.087877 | controller | - ' ;;' 2025-10-01 14:13:51.087883 | controller | - ' esac' 2025-10-01 14:13:51.087889 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.087895 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.087900 | controller | - ' exit 1' 2025-10-01 14:13:51.087906 | controller | - ' fi' 2025-10-01 14:13:51.087912 | controller | - ' fi' 2025-10-01 14:13:51.087918 | controller | - ' done' 2025-10-01 14:13:51.087923 | controller | - ' ]' 2025-10-01 14:13:51.087929 | controller | - ' logger.go:42: 13:57:59 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.087935 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.087941 | controller | rely on' 2025-10-01 14:13:51.087947 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.087952 | controller | and checks that' 2025-10-01 14:13:51.087958 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.087964 | controller | pattern' 2025-10-01 14:13:51.087970 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.087976 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.087989 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.087995 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.088001 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.088006 | controller | - ' exit 0' 2025-10-01 14:13:51.088012 | controller | - ' else' 2025-10-01 14:13:51.088018 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.088024 | controller | - ' exit 1' 2025-10-01 14:13:51.088030 | controller | - ' fi' 2025-10-01 14:13:51.088036 | controller | - ' ' 2025-10-01 14:13:51.088041 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.088047 | controller | them with a script' 2025-10-01 14:13:51.088053 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.088059 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.088064 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.088070 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.088076 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.088088 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.088093 | controller | - ' # it is an image' 2025-10-01 14:13:51.088099 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.088105 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.088111 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.088116 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.088122 | controller | - ' case $NAME in' 2025-10-01 14:13:51.088128 | controller | - ' API)' 2025-10-01 14:13:51.088134 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.088142 | controller | - ' ;;' 2025-10-01 14:13:51.088148 | controller | - ' esac' 2025-10-01 14:13:51.088154 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.088162 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.088168 | controller | - ' exit 1' 2025-10-01 14:13:51.088174 | controller | - ' fi' 2025-10-01 14:13:51.088180 | controller | - ' fi' 2025-10-01 14:13:51.088186 | controller | - ' done' 2025-10-01 14:13:51.088191 | controller | - ' ]' 2025-10-01 14:13:51.088197 | controller | - ' logger.go:42: 13:58:00 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.088203 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.088209 | controller | rely on' 2025-10-01 14:13:51.088214 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.088220 | controller | and checks that' 2025-10-01 14:13:51.088226 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.088232 | controller | pattern' 2025-10-01 14:13:51.088238 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.088244 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.088249 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.088255 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.088261 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.088267 | controller | - ' exit 0' 2025-10-01 14:13:51.088272 | controller | - ' else' 2025-10-01 14:13:51.088278 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.088284 | controller | - ' exit 1' 2025-10-01 14:13:51.088290 | controller | - ' fi' 2025-10-01 14:13:51.088296 | controller | - ' ' 2025-10-01 14:13:51.088301 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.088307 | controller | them with a script' 2025-10-01 14:13:51.088313 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.088319 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.088325 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.088330 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.088336 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.088348 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.088354 | controller | - ' # it is an image' 2025-10-01 14:13:51.088359 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.088365 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.088371 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.088377 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.088383 | controller | - ' case $NAME in' 2025-10-01 14:13:51.088388 | controller | - ' API)' 2025-10-01 14:13:51.088394 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.088418 | controller | - ' ;;' 2025-10-01 14:13:51.088430 | controller | - ' esac' 2025-10-01 14:13:51.088438 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.088445 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.088452 | controller | - ' exit 1' 2025-10-01 14:13:51.088459 | controller | - ' fi' 2025-10-01 14:13:51.088477 | controller | - ' fi' 2025-10-01 14:13:51.088490 | controller | - ' done' 2025-10-01 14:13:51.088499 | controller | - ' ]' 2025-10-01 14:13:51.088507 | controller | - ' logger.go:42: 13:58:02 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.088514 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.088522 | controller | rely on' 2025-10-01 14:13:51.088530 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.088538 | controller | and checks that' 2025-10-01 14:13:51.088546 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.088553 | controller | pattern' 2025-10-01 14:13:51.088561 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.088568 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.088574 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.088580 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.088585 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.088591 | controller | - ' exit 0' 2025-10-01 14:13:51.088597 | controller | - ' else' 2025-10-01 14:13:51.088610 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.088616 | controller | - ' exit 1' 2025-10-01 14:13:51.088622 | controller | - ' fi' 2025-10-01 14:13:51.088627 | controller | - ' ' 2025-10-01 14:13:51.088633 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.088639 | controller | them with a script' 2025-10-01 14:13:51.088647 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.088653 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.088659 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.088665 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.088671 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.088682 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.088688 | controller | - ' # it is an image' 2025-10-01 14:13:51.088694 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.088700 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.088705 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.088711 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.088717 | controller | - ' case $NAME in' 2025-10-01 14:13:51.088723 | controller | - ' API)' 2025-10-01 14:13:51.088728 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.088734 | controller | - ' ;;' 2025-10-01 14:13:51.088740 | controller | - ' esac' 2025-10-01 14:13:51.088746 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.088752 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.088757 | controller | - ' exit 1' 2025-10-01 14:13:51.088763 | controller | - ' fi' 2025-10-01 14:13:51.088769 | controller | - ' fi' 2025-10-01 14:13:51.088775 | controller | - ' done' 2025-10-01 14:13:51.088781 | controller | - ' ]' 2025-10-01 14:13:51.088786 | controller | - ' logger.go:42: 13:58:03 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.088792 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.088798 | controller | rely on' 2025-10-01 14:13:51.088807 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.088813 | controller | and checks that' 2025-10-01 14:13:51.088818 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.088824 | controller | pattern' 2025-10-01 14:13:51.088830 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.088836 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.088842 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.088847 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.088853 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.088859 | controller | - ' exit 0' 2025-10-01 14:13:51.088865 | controller | - ' else' 2025-10-01 14:13:51.088871 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.088877 | controller | - ' exit 1' 2025-10-01 14:13:51.088883 | controller | - ' fi' 2025-10-01 14:13:51.088889 | controller | - ' ' 2025-10-01 14:13:51.088895 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.088900 | controller | them with a script' 2025-10-01 14:13:51.088906 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.088912 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.088918 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.088923 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.088929 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.088941 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.088956 | controller | - ' # it is an image' 2025-10-01 14:13:51.088963 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.088969 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.088975 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.088980 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.088986 | controller | - ' case $NAME in' 2025-10-01 14:13:51.088992 | controller | - ' API)' 2025-10-01 14:13:51.088998 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.089004 | controller | - ' ;;' 2025-10-01 14:13:51.089009 | controller | - ' esac' 2025-10-01 14:13:51.089015 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.089021 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.089027 | controller | - ' exit 1' 2025-10-01 14:13:51.089033 | controller | - ' fi' 2025-10-01 14:13:51.089038 | controller | - ' fi' 2025-10-01 14:13:51.089044 | controller | - ' done' 2025-10-01 14:13:51.089050 | controller | - ' ]' 2025-10-01 14:13:51.089056 | controller | - ' logger.go:42: 13:58:04 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.089062 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.089067 | controller | rely on' 2025-10-01 14:13:51.089073 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.089079 | controller | and checks that' 2025-10-01 14:13:51.089085 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.089091 | controller | pattern' 2025-10-01 14:13:51.089096 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.089105 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.089111 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.089117 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.089122 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.089128 | controller | - ' exit 0' 2025-10-01 14:13:51.089134 | controller | - ' else' 2025-10-01 14:13:51.089140 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.089146 | controller | - ' exit 1' 2025-10-01 14:13:51.089151 | controller | - ' fi' 2025-10-01 14:13:51.089157 | controller | - ' ' 2025-10-01 14:13:51.089163 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.089169 | controller | them with a script' 2025-10-01 14:13:51.089175 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.089180 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.089186 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.089192 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.089198 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.089209 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.089215 | controller | - ' # it is an image' 2025-10-01 14:13:51.089221 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.089227 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.089232 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.089238 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.089244 | controller | - ' case $NAME in' 2025-10-01 14:13:51.089250 | controller | - ' API)' 2025-10-01 14:13:51.089256 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.089261 | controller | - ' ;;' 2025-10-01 14:13:51.089267 | controller | - ' esac' 2025-10-01 14:13:51.089273 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.089279 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.089284 | controller | - ' exit 1' 2025-10-01 14:13:51.089290 | controller | - ' fi' 2025-10-01 14:13:51.089296 | controller | - ' fi' 2025-10-01 14:13:51.089302 | controller | - ' done' 2025-10-01 14:13:51.089307 | controller | - ' ]' 2025-10-01 14:13:51.089313 | controller | - ' logger.go:42: 13:58:05 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.089319 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.089325 | controller | rely on' 2025-10-01 14:13:51.089331 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.089336 | controller | and checks that' 2025-10-01 14:13:51.089342 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.089348 | controller | pattern' 2025-10-01 14:13:51.089354 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.089360 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.089366 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.089371 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.089380 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.089386 | controller | - ' exit 0' 2025-10-01 14:13:51.089392 | controller | - ' else' 2025-10-01 14:13:51.089422 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.089434 | controller | - ' exit 1' 2025-10-01 14:13:51.089443 | controller | - ' fi' 2025-10-01 14:13:51.089451 | controller | - ' ' 2025-10-01 14:13:51.089458 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.089464 | controller | them with a script' 2025-10-01 14:13:51.089469 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.089475 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.089481 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.089487 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.089496 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.089508 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.089514 | controller | - ' # it is an image' 2025-10-01 14:13:51.089520 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.089526 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.089531 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.089537 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.089544 | controller | - ' case $NAME in' 2025-10-01 14:13:51.089550 | controller | - ' API)' 2025-10-01 14:13:51.089555 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.089561 | controller | - ' ;;' 2025-10-01 14:13:51.089567 | controller | - ' esac' 2025-10-01 14:13:51.089573 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.089579 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.089584 | controller | - ' exit 1' 2025-10-01 14:13:51.089590 | controller | - ' fi' 2025-10-01 14:13:51.089596 | controller | - ' fi' 2025-10-01 14:13:51.089602 | controller | - ' done' 2025-10-01 14:13:51.089608 | controller | - ' ]' 2025-10-01 14:13:51.089613 | controller | - ' logger.go:42: 13:58:06 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.089619 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.089625 | controller | rely on' 2025-10-01 14:13:51.089631 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.089637 | controller | and checks that' 2025-10-01 14:13:51.089642 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.089648 | controller | pattern' 2025-10-01 14:13:51.089654 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.089660 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.089666 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.089671 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.089679 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.089685 | controller | - ' exit 0' 2025-10-01 14:13:51.089691 | controller | - ' else' 2025-10-01 14:13:51.089697 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.089703 | controller | - ' exit 1' 2025-10-01 14:13:51.089709 | controller | - ' fi' 2025-10-01 14:13:51.089714 | controller | - ' ' 2025-10-01 14:13:51.089724 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.089732 | controller | them with a script' 2025-10-01 14:13:51.089738 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.089743 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.089751 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.089757 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.089763 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.089775 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.089780 | controller | - ' # it is an image' 2025-10-01 14:13:51.089786 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.089792 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.089798 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.089804 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.089809 | controller | - ' case $NAME in' 2025-10-01 14:13:51.089815 | controller | - ' API)' 2025-10-01 14:13:51.089821 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.089827 | controller | - ' ;;' 2025-10-01 14:13:51.089832 | controller | - ' esac' 2025-10-01 14:13:51.089838 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.089844 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.089850 | controller | - ' exit 1' 2025-10-01 14:13:51.089856 | controller | - ' fi' 2025-10-01 14:13:51.089861 | controller | - ' fi' 2025-10-01 14:13:51.089867 | controller | - ' done' 2025-10-01 14:13:51.089873 | controller | - ' ]' 2025-10-01 14:13:51.089879 | controller | - ' logger.go:42: 13:58:08 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.089885 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.089899 | controller | rely on' 2025-10-01 14:13:51.089905 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.089911 | controller | and checks that' 2025-10-01 14:13:51.089917 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.089923 | controller | pattern' 2025-10-01 14:13:51.089929 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.089934 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.089940 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.089946 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.089952 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.089958 | controller | - ' exit 0' 2025-10-01 14:13:51.089963 | controller | - ' else' 2025-10-01 14:13:51.089969 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.089975 | controller | - ' exit 1' 2025-10-01 14:13:51.089981 | controller | - ' fi' 2025-10-01 14:13:51.089987 | controller | - ' ' 2025-10-01 14:13:51.089992 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.089998 | controller | them with a script' 2025-10-01 14:13:51.090004 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.090010 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.090016 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.090024 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.090030 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.090041 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.090047 | controller | - ' # it is an image' 2025-10-01 14:13:51.090053 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.090058 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.090064 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.090070 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.090076 | controller | - ' case $NAME in' 2025-10-01 14:13:51.090081 | controller | - ' API)' 2025-10-01 14:13:51.090088 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.090096 | controller | - ' ;;' 2025-10-01 14:13:51.090101 | controller | - ' esac' 2025-10-01 14:13:51.090109 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.090115 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.090121 | controller | - ' exit 1' 2025-10-01 14:13:51.090127 | controller | - ' fi' 2025-10-01 14:13:51.090133 | controller | - ' fi' 2025-10-01 14:13:51.090138 | controller | - ' done' 2025-10-01 14:13:51.090144 | controller | - ' ]' 2025-10-01 14:13:51.090150 | controller | - ' logger.go:42: 13:58:09 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.090156 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.090162 | controller | rely on' 2025-10-01 14:13:51.090167 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.090173 | controller | and checks that' 2025-10-01 14:13:51.090179 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.090185 | controller | pattern' 2025-10-01 14:13:51.090190 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.090196 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.090202 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.090208 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.090214 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.090219 | controller | - ' exit 0' 2025-10-01 14:13:51.090225 | controller | - ' else' 2025-10-01 14:13:51.090231 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.090237 | controller | - ' exit 1' 2025-10-01 14:13:51.090242 | controller | - ' fi' 2025-10-01 14:13:51.090248 | controller | - ' ' 2025-10-01 14:13:51.090254 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.090260 | controller | them with a script' 2025-10-01 14:13:51.090266 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.090271 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.090277 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.090283 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.090292 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.090304 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.090312 | controller | - ' # it is an image' 2025-10-01 14:13:51.090318 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.090324 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.090337 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.090346 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.090352 | controller | - ' case $NAME in' 2025-10-01 14:13:51.090358 | controller | - ' API)' 2025-10-01 14:13:51.090364 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.090369 | controller | - ' ;;' 2025-10-01 14:13:51.090376 | controller | - ' esac' 2025-10-01 14:13:51.090382 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.090388 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.090393 | controller | - ' exit 1' 2025-10-01 14:13:51.090414 | controller | - ' fi' 2025-10-01 14:13:51.090423 | controller | - ' fi' 2025-10-01 14:13:51.090429 | controller | - ' done' 2025-10-01 14:13:51.090435 | controller | - ' ]' 2025-10-01 14:13:51.090441 | controller | - ' logger.go:42: 13:58:10 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.090447 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.090452 | controller | rely on' 2025-10-01 14:13:51.090458 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.090464 | controller | and checks that' 2025-10-01 14:13:51.090470 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.090475 | controller | pattern' 2025-10-01 14:13:51.090481 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.090487 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.090493 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.090499 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.090505 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.090510 | controller | - ' exit 0' 2025-10-01 14:13:51.090516 | controller | - ' else' 2025-10-01 14:13:51.090522 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.090528 | controller | - ' exit 1' 2025-10-01 14:13:51.090534 | controller | - ' fi' 2025-10-01 14:13:51.090539 | controller | - ' ' 2025-10-01 14:13:51.090545 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.090551 | controller | them with a script' 2025-10-01 14:13:51.090557 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.090563 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.090568 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.090574 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.090580 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.090592 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.090597 | controller | - ' # it is an image' 2025-10-01 14:13:51.090603 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.090609 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.090615 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.090624 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.090630 | controller | - ' case $NAME in' 2025-10-01 14:13:51.090635 | controller | - ' API)' 2025-10-01 14:13:51.090641 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.090647 | controller | - ' ;;' 2025-10-01 14:13:51.090653 | controller | - ' esac' 2025-10-01 14:13:51.090659 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.090664 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.090670 | controller | - ' exit 1' 2025-10-01 14:13:51.090676 | controller | - ' fi' 2025-10-01 14:13:51.090682 | controller | - ' fi' 2025-10-01 14:13:51.090687 | controller | - ' done' 2025-10-01 14:13:51.090693 | controller | - ' ]' 2025-10-01 14:13:51.090699 | controller | - ' logger.go:42: 13:58:11 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.090705 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.090711 | controller | rely on' 2025-10-01 14:13:51.090716 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.090722 | controller | and checks that' 2025-10-01 14:13:51.090734 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.090740 | controller | pattern' 2025-10-01 14:13:51.090746 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.090751 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.090757 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.090763 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.090769 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.090775 | controller | - ' exit 0' 2025-10-01 14:13:51.090780 | controller | - ' else' 2025-10-01 14:13:51.090786 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.090792 | controller | - ' exit 1' 2025-10-01 14:13:51.090798 | controller | - ' fi' 2025-10-01 14:13:51.090804 | controller | - ' ' 2025-10-01 14:13:51.090809 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.090815 | controller | them with a script' 2025-10-01 14:13:51.090829 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.090835 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.090841 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.090847 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.090855 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.090867 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.090873 | controller | - ' # it is an image' 2025-10-01 14:13:51.090879 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.090884 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.090890 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.090896 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.090902 | controller | - ' case $NAME in' 2025-10-01 14:13:51.090907 | controller | - ' API)' 2025-10-01 14:13:51.090913 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.090919 | controller | - ' ;;' 2025-10-01 14:13:51.090969 | controller | - ' esac' 2025-10-01 14:13:51.090978 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.090985 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.090993 | controller | - ' exit 1' 2025-10-01 14:13:51.091000 | controller | - ' fi' 2025-10-01 14:13:51.091008 | controller | - ' fi' 2025-10-01 14:13:51.091014 | controller | - ' done' 2025-10-01 14:13:51.091019 | controller | - ' ]' 2025-10-01 14:13:51.091025 | controller | - ' logger.go:42: 13:58:12 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.091031 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.091037 | controller | rely on' 2025-10-01 14:13:51.091043 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.091048 | controller | and checks that' 2025-10-01 14:13:51.091054 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.091060 | controller | pattern' 2025-10-01 14:13:51.091066 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.091072 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.091077 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.091083 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.091089 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.091095 | controller | - ' exit 0' 2025-10-01 14:13:51.091101 | controller | - ' else' 2025-10-01 14:13:51.091106 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.091112 | controller | - ' exit 1' 2025-10-01 14:13:51.091118 | controller | - ' fi' 2025-10-01 14:13:51.091124 | controller | - ' ' 2025-10-01 14:13:51.091130 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.091136 | controller | them with a script' 2025-10-01 14:13:51.091141 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.091147 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.091153 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.091159 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.091165 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.091176 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.091182 | controller | - ' # it is an image' 2025-10-01 14:13:51.091188 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.091194 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.091200 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.091205 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.091211 | controller | - ' case $NAME in' 2025-10-01 14:13:51.091217 | controller | - ' API)' 2025-10-01 14:13:51.091223 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.091228 | controller | - ' ;;' 2025-10-01 14:13:51.091234 | controller | - ' esac' 2025-10-01 14:13:51.091240 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.091246 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.091252 | controller | - ' exit 1' 2025-10-01 14:13:51.091258 | controller | - ' fi' 2025-10-01 14:13:51.091263 | controller | - ' fi' 2025-10-01 14:13:51.091272 | controller | - ' done' 2025-10-01 14:13:51.091278 | controller | - ' ]' 2025-10-01 14:13:51.091284 | controller | - ' logger.go:42: 13:58:14 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.091290 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.091296 | controller | rely on' 2025-10-01 14:13:51.091301 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.091307 | controller | and checks that' 2025-10-01 14:13:51.091313 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.091319 | controller | pattern' 2025-10-01 14:13:51.091334 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.091343 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.091349 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.091355 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.091361 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.091367 | controller | - ' exit 0' 2025-10-01 14:13:51.091372 | controller | - ' else' 2025-10-01 14:13:51.091378 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.091384 | controller | - ' exit 1' 2025-10-01 14:13:51.091390 | controller | - ' fi' 2025-10-01 14:13:51.091395 | controller | - ' ' 2025-10-01 14:13:51.091418 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.091427 | controller | them with a script' 2025-10-01 14:13:51.091433 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.091439 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.091445 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.091451 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.091457 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.091468 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.091474 | controller | - ' # it is an image' 2025-10-01 14:13:51.091480 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.091486 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.091495 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.091501 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.091506 | controller | - ' case $NAME in' 2025-10-01 14:13:51.091512 | controller | - ' API)' 2025-10-01 14:13:51.091518 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.091524 | controller | - ' ;;' 2025-10-01 14:13:51.091529 | controller | - ' esac' 2025-10-01 14:13:51.091535 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.091541 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.091547 | controller | - ' exit 1' 2025-10-01 14:13:51.091553 | controller | - ' fi' 2025-10-01 14:13:51.091559 | controller | - ' fi' 2025-10-01 14:13:51.091564 | controller | - ' done' 2025-10-01 14:13:51.091570 | controller | - ' ]' 2025-10-01 14:13:51.091576 | controller | - ' logger.go:42: 13:58:15 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.091582 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.091587 | controller | rely on' 2025-10-01 14:13:51.091593 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.091602 | controller | and checks that' 2025-10-01 14:13:51.091608 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.091614 | controller | pattern' 2025-10-01 14:13:51.091623 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.091628 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.091634 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.091640 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.091646 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.091651 | controller | - ' exit 0' 2025-10-01 14:13:51.091657 | controller | - ' else' 2025-10-01 14:13:51.091663 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.091669 | controller | - ' exit 1' 2025-10-01 14:13:51.091675 | controller | - ' fi' 2025-10-01 14:13:51.091680 | controller | - ' ' 2025-10-01 14:13:51.091686 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.091692 | controller | them with a script' 2025-10-01 14:13:51.091698 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.091703 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.091709 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.091715 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.091721 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.091733 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.091738 | controller | - ' # it is an image' 2025-10-01 14:13:51.091744 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.091750 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.091756 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.091761 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.091767 | controller | - ' case $NAME in' 2025-10-01 14:13:51.091773 | controller | - ' API)' 2025-10-01 14:13:51.091779 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.091792 | controller | - ' ;;' 2025-10-01 14:13:51.091799 | controller | - ' esac' 2025-10-01 14:13:51.091805 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.091811 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.091817 | controller | - ' exit 1' 2025-10-01 14:13:51.091822 | controller | - ' fi' 2025-10-01 14:13:51.091828 | controller | - ' fi' 2025-10-01 14:13:51.091834 | controller | - ' done' 2025-10-01 14:13:51.091852 | controller | - ' ]' 2025-10-01 14:13:51.091859 | controller | - ' logger.go:42: 13:58:16 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.091865 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.091871 | controller | rely on' 2025-10-01 14:13:51.091880 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.091886 | controller | and checks that' 2025-10-01 14:13:51.091891 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.091897 | controller | pattern' 2025-10-01 14:13:51.091903 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.091912 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.091918 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.091924 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.091929 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.091935 | controller | - ' exit 0' 2025-10-01 14:13:51.091941 | controller | - ' else' 2025-10-01 14:13:51.091947 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.091953 | controller | - ' exit 1' 2025-10-01 14:13:51.091958 | controller | - ' fi' 2025-10-01 14:13:51.091964 | controller | - ' ' 2025-10-01 14:13:51.091970 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.091976 | controller | them with a script' 2025-10-01 14:13:51.091982 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.091987 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.091993 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.091999 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.092005 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.092016 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.092022 | controller | - ' # it is an image' 2025-10-01 14:13:51.092028 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.092034 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.092040 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.092046 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.092051 | controller | - ' case $NAME in' 2025-10-01 14:13:51.092057 | controller | - ' API)' 2025-10-01 14:13:51.092063 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.092069 | controller | - ' ;;' 2025-10-01 14:13:51.092075 | controller | - ' esac' 2025-10-01 14:13:51.092080 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.092086 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.092092 | controller | - ' exit 1' 2025-10-01 14:13:51.092098 | controller | - ' fi' 2025-10-01 14:13:51.092106 | controller | - ' fi' 2025-10-01 14:13:51.092112 | controller | - ' done' 2025-10-01 14:13:51.092118 | controller | - ' ]' 2025-10-01 14:13:51.092124 | controller | - ' logger.go:42: 13:58:17 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.092129 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.092135 | controller | rely on' 2025-10-01 14:13:51.092141 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.092147 | controller | and checks that' 2025-10-01 14:13:51.092152 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.092158 | controller | pattern' 2025-10-01 14:13:51.092165 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.092171 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.092177 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.092183 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.092189 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.092198 | controller | - ' exit 0' 2025-10-01 14:13:51.092205 | controller | - ' else' 2025-10-01 14:13:51.092212 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.092219 | controller | - ' exit 1' 2025-10-01 14:13:51.092226 | controller | - ' fi' 2025-10-01 14:13:51.092233 | controller | - ' ' 2025-10-01 14:13:51.092240 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.092247 | controller | them with a script' 2025-10-01 14:13:51.092254 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.092261 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.092269 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.092285 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.092293 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.092307 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.092314 | controller | - ' # it is an image' 2025-10-01 14:13:51.092321 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.092328 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.092335 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.092342 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.092348 | controller | - ' case $NAME in' 2025-10-01 14:13:51.092356 | controller | - ' API)' 2025-10-01 14:13:51.092363 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.092370 | controller | - ' ;;' 2025-10-01 14:13:51.092377 | controller | - ' esac' 2025-10-01 14:13:51.092384 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.092391 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.092415 | controller | - ' exit 1' 2025-10-01 14:13:51.092426 | controller | - ' fi' 2025-10-01 14:13:51.092434 | controller | - ' fi' 2025-10-01 14:13:51.092441 | controller | - ' done' 2025-10-01 14:13:51.092449 | controller | - ' ]' 2025-10-01 14:13:51.092455 | controller | - ' logger.go:42: 13:58:19 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.092460 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.092466 | controller | rely on' 2025-10-01 14:13:51.092475 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.092481 | controller | and checks that' 2025-10-01 14:13:51.092486 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.092492 | controller | pattern' 2025-10-01 14:13:51.092498 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.092504 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.092510 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.092516 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.092521 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.092527 | controller | - ' exit 0' 2025-10-01 14:13:51.092533 | controller | - ' else' 2025-10-01 14:13:51.092539 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.092545 | controller | - ' exit 1' 2025-10-01 14:13:51.092550 | controller | - ' fi' 2025-10-01 14:13:51.092556 | controller | - ' ' 2025-10-01 14:13:51.092566 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.092572 | controller | them with a script' 2025-10-01 14:13:51.092578 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.092584 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.092590 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.092595 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.092601 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.092613 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.092619 | controller | - ' # it is an image' 2025-10-01 14:13:51.092624 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.092630 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.092636 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.092642 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.092647 | controller | - ' case $NAME in' 2025-10-01 14:13:51.092653 | controller | - ' API)' 2025-10-01 14:13:51.092659 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.092665 | controller | - ' ;;' 2025-10-01 14:13:51.092671 | controller | - ' esac' 2025-10-01 14:13:51.092676 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.092682 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.092688 | controller | - ' exit 1' 2025-10-01 14:13:51.092694 | controller | - ' fi' 2025-10-01 14:13:51.092700 | controller | - ' fi' 2025-10-01 14:13:51.092705 | controller | - ' done' 2025-10-01 14:13:51.092711 | controller | - ' ]' 2025-10-01 14:13:51.092717 | controller | - ' logger.go:42: 13:58:20 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.092723 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.092729 | controller | rely on' 2025-10-01 14:13:51.092734 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.092740 | controller | and checks that' 2025-10-01 14:13:51.092746 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.092752 | controller | pattern' 2025-10-01 14:13:51.092758 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.092763 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.092778 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.092785 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.092791 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.092797 | controller | - ' exit 0' 2025-10-01 14:13:51.092803 | controller | - ' else' 2025-10-01 14:13:51.092808 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.092814 | controller | - ' exit 1' 2025-10-01 14:13:51.092820 | controller | - ' fi' 2025-10-01 14:13:51.092826 | controller | - ' ' 2025-10-01 14:13:51.092832 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.092837 | controller | them with a script' 2025-10-01 14:13:51.092844 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.092851 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.092858 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.092870 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.092878 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.092892 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.092899 | controller | - ' # it is an image' 2025-10-01 14:13:51.092906 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.092929 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.092937 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.092945 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.092952 | controller | - ' case $NAME in' 2025-10-01 14:13:51.092959 | controller | - ' API)' 2025-10-01 14:13:51.092967 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.092974 | controller | - ' ;;' 2025-10-01 14:13:51.092981 | controller | - ' esac' 2025-10-01 14:13:51.092988 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.092995 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.093002 | controller | - ' exit 1' 2025-10-01 14:13:51.093010 | controller | - ' fi' 2025-10-01 14:13:51.093017 | controller | - ' fi' 2025-10-01 14:13:51.093025 | controller | - ' done' 2025-10-01 14:13:51.093032 | controller | - ' ]' 2025-10-01 14:13:51.093039 | controller | - ' logger.go:42: 13:58:21 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.093054 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.093062 | controller | rely on' 2025-10-01 14:13:51.093069 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.093077 | controller | and checks that' 2025-10-01 14:13:51.093085 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.093092 | controller | pattern' 2025-10-01 14:13:51.093100 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.093108 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.093115 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.093123 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.093129 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.093135 | controller | - ' exit 0' 2025-10-01 14:13:51.093140 | controller | - ' else' 2025-10-01 14:13:51.093146 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.093152 | controller | - ' exit 1' 2025-10-01 14:13:51.093158 | controller | - ' fi' 2025-10-01 14:13:51.093164 | controller | - ' ' 2025-10-01 14:13:51.093169 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.093175 | controller | them with a script' 2025-10-01 14:13:51.093181 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.093187 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.093193 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.093198 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.093208 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.093220 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.093230 | controller | - ' # it is an image' 2025-10-01 14:13:51.093236 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.093241 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.093247 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.093253 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.093259 | controller | - ' case $NAME in' 2025-10-01 14:13:51.093265 | controller | - ' API)' 2025-10-01 14:13:51.093271 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.093276 | controller | - ' ;;' 2025-10-01 14:13:51.093282 | controller | - ' esac' 2025-10-01 14:13:51.093288 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.093294 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.093300 | controller | - ' exit 1' 2025-10-01 14:13:51.093308 | controller | - ' fi' 2025-10-01 14:13:51.093314 | controller | - ' fi' 2025-10-01 14:13:51.093333 | controller | - ' done' 2025-10-01 14:13:51.093339 | controller | - ' ]' 2025-10-01 14:13:51.093345 | controller | - ' logger.go:42: 13:58:22 | keystone_scale/0-deploy_keystone | running command: 2025-10-01 14:13:51.093351 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.093357 | controller | rely on' 2025-10-01 14:13:51.093363 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.093369 | controller | and checks that' 2025-10-01 14:13:51.093377 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.093383 | controller | pattern' 2025-10-01 14:13:51.093389 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.093395 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.093424 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.093433 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.093441 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.093448 | controller | - ' exit 0' 2025-10-01 14:13:51.093455 | controller | - ' else' 2025-10-01 14:13:51.093462 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.093469 | controller | - ' exit 1' 2025-10-01 14:13:51.093476 | controller | - ' fi' 2025-10-01 14:13:51.093483 | controller | - ' ' 2025-10-01 14:13:51.093491 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.093498 | controller | them with a script' 2025-10-01 14:13:51.093506 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.093514 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.093521 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.093529 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.093537 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.093549 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.093555 | controller | - ' # it is an image' 2025-10-01 14:13:51.093561 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.093567 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.093573 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.093582 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.093589 | controller | - ' case $NAME in' 2025-10-01 14:13:51.093596 | controller | - ' API)' 2025-10-01 14:13:51.093604 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.093611 | controller | - ' ;;' 2025-10-01 14:13:51.093618 | controller | - ' esac' 2025-10-01 14:13:51.093629 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.093636 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.093643 | controller | - ' exit 1' 2025-10-01 14:13:51.093651 | controller | - ' fi' 2025-10-01 14:13:51.093658 | controller | - ' fi' 2025-10-01 14:13:51.093666 | controller | - ' done' 2025-10-01 14:13:51.093674 | controller | - ' ]' 2025-10-01 14:13:51.093682 | controller | - ' logger.go:42: 13:58:22 | keystone_scale/0-deploy_keystone | test step completed 2025-10-01 14:13:51.093690 | controller | 0-deploy_keystone' 2025-10-01 14:13:51.093697 | controller | - ' logger.go:42: 13:58:22 | keystone_scale/1-scale-keystoneapi | starting test 2025-10-01 14:13:51.093705 | controller | step 1-scale-keystoneapi' 2025-10-01 14:13:51.093712 | controller | - ' logger.go:42: 13:58:22 | keystone_scale/1-scale-keystoneapi | running command: 2025-10-01 14:13:51.093718 | controller | [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type=''json'' -p=''[{"op": 2025-10-01 14:13:51.093724 | controller | "replace", "path": "/spec/replicas", "value":3}]''' 2025-10-01 14:13:51.093730 | controller | - ' ]' 2025-10-01 14:13:51.093735 | controller | - ' logger.go:42: 13:58:23 | keystone_scale/1-scale-keystoneapi | keystoneapi.keystone.openstack.org/keystone 2025-10-01 14:13:51.093741 | controller | patched' 2025-10-01 14:13:51.093747 | controller | - ' logger.go:42: 13:58:55 | keystone_scale/1-scale-keystoneapi | test step completed 2025-10-01 14:13:51.093753 | controller | 1-scale-keystoneapi' 2025-10-01 14:13:51.093759 | controller | - ' logger.go:42: 13:58:55 | keystone_scale/2-scale-down-keystoneapi | starting 2025-10-01 14:13:51.093764 | controller | test step 2-scale-down-keystoneapi' 2025-10-01 14:13:51.093770 | controller | - ' logger.go:42: 13:58:55 | keystone_scale/2-scale-down-keystoneapi | running 2025-10-01 14:13:51.093776 | controller | command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type=''json'' -p=''[{"op": 2025-10-01 14:13:51.093783 | controller | "replace", "path": "/spec/replicas", "value":1}]''' 2025-10-01 14:13:51.093790 | controller | - ' ]' 2025-10-01 14:13:51.093798 | controller | - ' logger.go:42: 13:58:56 | keystone_scale/2-scale-down-keystoneapi | keystoneapi.keystone.openstack.org/keystone 2025-10-01 14:13:51.093806 | controller | patched' 2025-10-01 14:13:51.093813 | controller | - ' logger.go:42: 13:58:57 | keystone_scale/2-scale-down-keystoneapi | test step 2025-10-01 14:13:51.093821 | controller | completed 2-scale-down-keystoneapi' 2025-10-01 14:13:51.093828 | controller | - ' logger.go:42: 13:58:57 | keystone_scale/3-scale-down-zero-keystoneapi | starting 2025-10-01 14:13:51.093835 | controller | test step 3-scale-down-zero-keystoneapi' 2025-10-01 14:13:51.093843 | controller | - ' logger.go:42: 13:58:57 | keystone_scale/3-scale-down-zero-keystoneapi | running 2025-10-01 14:13:51.093863 | controller | command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type=''json'' -p=''[{"op": 2025-10-01 14:13:51.093872 | controller | "replace", "path": "/spec/replicas", "value":0}]''' 2025-10-01 14:13:51.093880 | controller | - ' ]' 2025-10-01 14:13:51.093888 | controller | - ' logger.go:42: 13:58:57 | keystone_scale/3-scale-down-zero-keystoneapi | keystoneapi.keystone.openstack.org/keystone 2025-10-01 14:13:51.093896 | controller | patched' 2025-10-01 14:13:51.093903 | controller | - ' logger.go:42: 13:59:02 | keystone_scale/3-scale-down-zero-keystoneapi | test 2025-10-01 14:13:51.093910 | controller | step completed 3-scale-down-zero-keystoneapi' 2025-10-01 14:13:51.093917 | controller | - ' logger.go:42: 13:59:02 | keystone_scale/4-cleanup-keystone | starting test 2025-10-01 14:13:51.093924 | controller | step 4-cleanup-keystone' 2025-10-01 14:13:51.093935 | controller | - ' logger.go:42: 13:59:02 | keystone_scale/4-cleanup-keystone | test step completed 2025-10-01 14:13:51.093942 | controller | 4-cleanup-keystone' 2025-10-01 14:13:51.093950 | controller | - ' logger.go:42: 13:59:02 | keystone_scale | skipping kubernetes event logging' 2025-10-01 14:13:51.093958 | controller | - === CONT kuttl/harness/keystone_appcred 2025-10-01 14:13:51.093966 | controller | - 2025/10/01 13:59:02 object detected with no GVK Kind for path /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/tests/kuttl/tests/keystone_appcred/01-assert.yaml 2025-10-01 14:13:51.093978 | controller | - ' logger.go:42: 13:59:02 | keystone_appcred | Skipping creation of user-supplied 2025-10-01 14:13:51.093986 | controller | namespace: keystone-kuttl-tests' 2025-10-01 14:13:51.093993 | controller | - ' logger.go:42: 13:59:02 | keystone_appcred/0-deploy-keystone | starting test 2025-10-01 14:13:51.094001 | controller | step 0-deploy-keystone' 2025-10-01 14:13:51.094008 | controller | - ' logger.go:42: 13:59:02 | keystone_appcred/0-deploy-keystone | KeystoneAPI:keystone-kuttl-tests/keystone 2025-10-01 14:13:51.094017 | controller | created' 2025-10-01 14:13:51.094025 | controller | - ' logger.go:42: 13:59:02 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.094032 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.094040 | controller | rely on' 2025-10-01 14:13:51.094048 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.094055 | controller | and checks that' 2025-10-01 14:13:51.094063 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.094071 | controller | pattern' 2025-10-01 14:13:51.094078 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.094086 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.094094 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.094102 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.094110 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.094118 | controller | - ' exit 0' 2025-10-01 14:13:51.094126 | controller | - ' else' 2025-10-01 14:13:51.094133 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.094141 | controller | - ' exit 1' 2025-10-01 14:13:51.094149 | controller | - ' fi' 2025-10-01 14:13:51.094156 | controller | - ' ' 2025-10-01 14:13:51.094164 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.094171 | controller | them with a script' 2025-10-01 14:13:51.094179 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.094187 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.094195 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.094204 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.094211 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.094228 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.094236 | controller | - ' # it is an image' 2025-10-01 14:13:51.094244 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.094252 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.094260 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.094268 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.094276 | controller | - ' case $NAME in' 2025-10-01 14:13:51.094284 | controller | - ' API)' 2025-10-01 14:13:51.094296 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.094304 | controller | - ' ;;' 2025-10-01 14:13:51.094312 | controller | - ' esac' 2025-10-01 14:13:51.094320 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.094327 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.094335 | controller | - ' exit 1' 2025-10-01 14:13:51.094343 | controller | - ' fi' 2025-10-01 14:13:51.094351 | controller | - ' fi' 2025-10-01 14:13:51.094359 | controller | - ' done' 2025-10-01 14:13:51.094367 | controller | - ' ]' 2025-10-01 14:13:51.094375 | controller | - ' logger.go:42: 13:59:02 | keystone_appcred/0-deploy-keystone | Endpoints URLS: 2025-10-01 14:13:51.094383 | controller | : do not match regex' 2025-10-01 14:13:51.094391 | controller | - ' logger.go:42: 13:59:03 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.094416 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.094441 | controller | rely on' 2025-10-01 14:13:51.094450 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.094458 | controller | and checks that' 2025-10-01 14:13:51.094466 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.094474 | controller | pattern' 2025-10-01 14:13:51.094482 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.094490 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.094498 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.094506 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.094514 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.094522 | controller | - ' exit 0' 2025-10-01 14:13:51.094529 | controller | - ' else' 2025-10-01 14:13:51.094537 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.094545 | controller | - ' exit 1' 2025-10-01 14:13:51.094553 | controller | - ' fi' 2025-10-01 14:13:51.094561 | controller | - ' ' 2025-10-01 14:13:51.094569 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.094577 | controller | them with a script' 2025-10-01 14:13:51.094585 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.094593 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.094601 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.094608 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.094616 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.094632 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.094640 | controller | - ' # it is an image' 2025-10-01 14:13:51.094648 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.094656 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.094664 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.094672 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.094680 | controller | - ' case $NAME in' 2025-10-01 14:13:51.094687 | controller | - ' API)' 2025-10-01 14:13:51.094695 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.094703 | controller | - ' ;;' 2025-10-01 14:13:51.094715 | controller | - ' esac' 2025-10-01 14:13:51.094723 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.094731 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.094739 | controller | - ' exit 1' 2025-10-01 14:13:51.094747 | controller | - ' fi' 2025-10-01 14:13:51.094755 | controller | - ' fi' 2025-10-01 14:13:51.094763 | controller | - ' done' 2025-10-01 14:13:51.094770 | controller | - ' ]' 2025-10-01 14:13:51.094778 | controller | - ' logger.go:42: 13:59:04 | keystone_appcred/0-deploy-keystone | Endpoints URLS: 2025-10-01 14:13:51.094786 | controller | : do not match regex' 2025-10-01 14:13:51.094794 | controller | - ' logger.go:42: 13:59:05 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.094802 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.094810 | controller | rely on' 2025-10-01 14:13:51.094818 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.094826 | controller | and checks that' 2025-10-01 14:13:51.094833 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.094841 | controller | pattern' 2025-10-01 14:13:51.094849 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.094857 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.094865 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.094873 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.094881 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.094889 | controller | - ' exit 0' 2025-10-01 14:13:51.094896 | controller | - ' else' 2025-10-01 14:13:51.094904 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.094912 | controller | - ' exit 1' 2025-10-01 14:13:51.094920 | controller | - ' fi' 2025-10-01 14:13:51.094928 | controller | - ' ' 2025-10-01 14:13:51.094936 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.094944 | controller | them with a script' 2025-10-01 14:13:51.094952 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.094960 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.094967 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.094975 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.094983 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.094999 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.095007 | controller | - ' # it is an image' 2025-10-01 14:13:51.095015 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.095032 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.095040 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.095048 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.095056 | controller | - ' case $NAME in' 2025-10-01 14:13:51.095064 | controller | - ' API)' 2025-10-01 14:13:51.095072 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.095080 | controller | - ' ;;' 2025-10-01 14:13:51.095088 | controller | - ' esac' 2025-10-01 14:13:51.095100 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.095108 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.095119 | controller | - ' exit 1' 2025-10-01 14:13:51.095127 | controller | - ' fi' 2025-10-01 14:13:51.095135 | controller | - ' fi' 2025-10-01 14:13:51.095143 | controller | - ' done' 2025-10-01 14:13:51.095151 | controller | - ' ]' 2025-10-01 14:13:51.095158 | controller | - ' logger.go:42: 13:59:05 | keystone_appcred/0-deploy-keystone | Endpoints URLS: 2025-10-01 14:13:51.095166 | controller | : do not match regex' 2025-10-01 14:13:51.095174 | controller | - ' logger.go:42: 13:59:06 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.095182 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.095190 | controller | rely on' 2025-10-01 14:13:51.095202 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.095211 | controller | and checks that' 2025-10-01 14:13:51.095219 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.095228 | controller | pattern' 2025-10-01 14:13:51.095236 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.095245 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.095257 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.095265 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.095273 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.095281 | controller | - ' exit 0' 2025-10-01 14:13:51.095288 | controller | - ' else' 2025-10-01 14:13:51.095296 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.095303 | controller | - ' exit 1' 2025-10-01 14:13:51.095309 | controller | - ' fi' 2025-10-01 14:13:51.095315 | controller | - ' ' 2025-10-01 14:13:51.095321 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.095327 | controller | them with a script' 2025-10-01 14:13:51.095333 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.095339 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.095344 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.095350 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.095356 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.095368 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.095374 | controller | - ' # it is an image' 2025-10-01 14:13:51.095380 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.095386 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.095391 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.095415 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.095429 | controller | - ' case $NAME in' 2025-10-01 14:13:51.095437 | controller | - ' API)' 2025-10-01 14:13:51.095445 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.095452 | controller | - ' ;;' 2025-10-01 14:13:51.095460 | controller | - ' esac' 2025-10-01 14:13:51.095467 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.095475 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.095482 | controller | - ' exit 1' 2025-10-01 14:13:51.095488 | controller | - ' fi' 2025-10-01 14:13:51.095494 | controller | - ' fi' 2025-10-01 14:13:51.095500 | controller | - ' done' 2025-10-01 14:13:51.095513 | controller | - ' ]' 2025-10-01 14:13:51.095519 | controller | - ' logger.go:42: 13:59:06 | keystone_appcred/0-deploy-keystone | Endpoints URLS: 2025-10-01 14:13:51.095524 | controller | : do not match regex' 2025-10-01 14:13:51.095530 | controller | - ' logger.go:42: 13:59:07 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.095536 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.095542 | controller | rely on' 2025-10-01 14:13:51.095549 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.095554 | controller | and checks that' 2025-10-01 14:13:51.095560 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.095566 | controller | pattern' 2025-10-01 14:13:51.095577 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.095643 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.095650 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.095664 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.095671 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.095678 | controller | - ' exit 0' 2025-10-01 14:13:51.095685 | controller | - ' else' 2025-10-01 14:13:51.095692 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.095700 | controller | - ' exit 1' 2025-10-01 14:13:51.095708 | controller | - ' fi' 2025-10-01 14:13:51.095715 | controller | - ' ' 2025-10-01 14:13:51.095723 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.095732 | controller | them with a script' 2025-10-01 14:13:51.095740 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.095748 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.095760 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.095769 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.095782 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.095799 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.095808 | controller | - ' # it is an image' 2025-10-01 14:13:51.095816 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.095824 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.095832 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.095840 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.095877 | controller | - ' case $NAME in' 2025-10-01 14:13:51.095909 | controller | - ' API)' 2025-10-01 14:13:51.095916 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.095926 | controller | - ' ;;' 2025-10-01 14:13:51.095956 | controller | - ' esac' 2025-10-01 14:13:51.095962 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.095969 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.095974 | controller | - ' exit 1' 2025-10-01 14:13:51.095980 | controller | - ' fi' 2025-10-01 14:13:51.095986 | controller | - ' fi' 2025-10-01 14:13:51.095992 | controller | - ' done' 2025-10-01 14:13:51.095998 | controller | - ' ]' 2025-10-01 14:13:51.096003 | controller | - ' logger.go:42: 13:59:07 | keystone_appcred/0-deploy-keystone | Endpoints URLS: 2025-10-01 14:13:51.096009 | controller | : do not match regex' 2025-10-01 14:13:51.096019 | controller | - ' logger.go:42: 13:59:08 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.096025 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.096031 | controller | rely on' 2025-10-01 14:13:51.096037 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.096042 | controller | and checks that' 2025-10-01 14:13:51.096048 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.096054 | controller | pattern' 2025-10-01 14:13:51.096060 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.096066 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.096072 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.096079 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.096088 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.096098 | controller | - ' exit 0' 2025-10-01 14:13:51.096106 | controller | - ' else' 2025-10-01 14:13:51.096115 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.096123 | controller | - ' exit 1' 2025-10-01 14:13:51.096130 | controller | - ' fi' 2025-10-01 14:13:51.096136 | controller | - ' ' 2025-10-01 14:13:51.096142 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.096147 | controller | them with a script' 2025-10-01 14:13:51.096153 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.096159 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.096165 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.096170 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.096176 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.096191 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.096199 | controller | - ' # it is an image' 2025-10-01 14:13:51.096207 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.096215 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.096222 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.096228 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.096234 | controller | - ' case $NAME in' 2025-10-01 14:13:51.096240 | controller | - ' API)' 2025-10-01 14:13:51.096246 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.096251 | controller | - ' ;;' 2025-10-01 14:13:51.096257 | controller | - ' esac' 2025-10-01 14:13:51.096263 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.096281 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.096290 | controller | - ' exit 1' 2025-10-01 14:13:51.096299 | controller | - ' fi' 2025-10-01 14:13:51.096306 | controller | - ' fi' 2025-10-01 14:13:51.096313 | controller | - ' done' 2025-10-01 14:13:51.096320 | controller | - ' ]' 2025-10-01 14:13:51.096326 | controller | - ' logger.go:42: 13:59:08 | keystone_appcred/0-deploy-keystone | Endpoints URLS: 2025-10-01 14:13:51.096332 | controller | : do not match regex' 2025-10-01 14:13:51.096338 | controller | - ' logger.go:42: 13:59:09 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.096349 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.096359 | controller | rely on' 2025-10-01 14:13:51.096367 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.096375 | controller | and checks that' 2025-10-01 14:13:51.096382 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.096390 | controller | pattern' 2025-10-01 14:13:51.096420 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.096434 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.096442 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.096450 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.096457 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.096465 | controller | - ' exit 0' 2025-10-01 14:13:51.096473 | controller | - ' else' 2025-10-01 14:13:51.096480 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.096488 | controller | - ' exit 1' 2025-10-01 14:13:51.096495 | controller | - ' fi' 2025-10-01 14:13:51.096503 | controller | - ' ' 2025-10-01 14:13:51.096510 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.096518 | controller | them with a script' 2025-10-01 14:13:51.096525 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.096533 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.096545 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.096553 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.096561 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.096576 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.096583 | controller | - ' # it is an image' 2025-10-01 14:13:51.096591 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.096598 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.096606 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.096613 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.096621 | controller | - ' case $NAME in' 2025-10-01 14:13:51.096629 | controller | - ' API)' 2025-10-01 14:13:51.096636 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.096644 | controller | - ' ;;' 2025-10-01 14:13:51.096651 | controller | - ' esac' 2025-10-01 14:13:51.096659 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.096666 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.096674 | controller | - ' exit 1' 2025-10-01 14:13:51.096685 | controller | - ' fi' 2025-10-01 14:13:51.096693 | controller | - ' fi' 2025-10-01 14:13:51.096704 | controller | - ' done' 2025-10-01 14:13:51.096712 | controller | - ' ]' 2025-10-01 14:13:51.096719 | controller | - ' logger.go:42: 13:59:09 | keystone_appcred/0-deploy-keystone | Endpoints URLS: 2025-10-01 14:13:51.096727 | controller | : do not match regex' 2025-10-01 14:13:51.096738 | controller | - ' logger.go:42: 13:59:10 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.096746 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.096753 | controller | rely on' 2025-10-01 14:13:51.096761 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.096772 | controller | and checks that' 2025-10-01 14:13:51.096779 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.096787 | controller | pattern' 2025-10-01 14:13:51.096795 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.096803 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.096810 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.096817 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.096825 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.096836 | controller | - ' exit 0' 2025-10-01 14:13:51.096844 | controller | - ' else' 2025-10-01 14:13:51.096851 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.096859 | controller | - ' exit 1' 2025-10-01 14:13:51.096866 | controller | - ' fi' 2025-10-01 14:13:51.096874 | controller | - ' ' 2025-10-01 14:13:51.096882 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.096889 | controller | them with a script' 2025-10-01 14:13:51.096896 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.096904 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.096923 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.096933 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.096941 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.096956 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.096964 | controller | - ' # it is an image' 2025-10-01 14:13:51.096971 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.096978 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.096986 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.096994 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.097001 | controller | - ' case $NAME in' 2025-10-01 14:13:51.097009 | controller | - ' API)' 2025-10-01 14:13:51.097016 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.097024 | controller | - ' ;;' 2025-10-01 14:13:51.097031 | controller | - ' esac' 2025-10-01 14:13:51.097038 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.097046 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.097053 | controller | - ' exit 1' 2025-10-01 14:13:51.097061 | controller | - ' fi' 2025-10-01 14:13:51.097069 | controller | - ' fi' 2025-10-01 14:13:51.097077 | controller | - ' done' 2025-10-01 14:13:51.097084 | controller | - ' ]' 2025-10-01 14:13:51.097092 | controller | - ' logger.go:42: 13:59:11 | keystone_appcred/0-deploy-keystone | Endpoints URLS: 2025-10-01 14:13:51.097099 | controller | : do not match regex' 2025-10-01 14:13:51.097106 | controller | - ' logger.go:42: 13:59:12 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.097113 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.097121 | controller | rely on' 2025-10-01 14:13:51.097128 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.097136 | controller | and checks that' 2025-10-01 14:13:51.097144 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.097152 | controller | pattern' 2025-10-01 14:13:51.097164 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.097172 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.097179 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.097187 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.097195 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.097202 | controller | - ' exit 0' 2025-10-01 14:13:51.097210 | controller | - ' else' 2025-10-01 14:13:51.097218 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.097226 | controller | - ' exit 1' 2025-10-01 14:13:51.097234 | controller | - ' fi' 2025-10-01 14:13:51.097242 | controller | - ' ' 2025-10-01 14:13:51.097250 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.097258 | controller | them with a script' 2025-10-01 14:13:51.097265 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.097273 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.097280 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.097288 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.097295 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.097310 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.097317 | controller | - ' # it is an image' 2025-10-01 14:13:51.097325 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.097333 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.097341 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.097348 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.097356 | controller | - ' case $NAME in' 2025-10-01 14:13:51.097363 | controller | - ' API)' 2025-10-01 14:13:51.097370 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.097377 | controller | - ' ;;' 2025-10-01 14:13:51.097384 | controller | - ' esac' 2025-10-01 14:13:51.097392 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.097427 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.097436 | controller | - ' exit 1' 2025-10-01 14:13:51.097443 | controller | - ' fi' 2025-10-01 14:13:51.097450 | controller | - ' fi' 2025-10-01 14:13:51.097458 | controller | - ' done' 2025-10-01 14:13:51.097465 | controller | - ' ]' 2025-10-01 14:13:51.097472 | controller | - ' logger.go:42: 13:59:12 | keystone_appcred/0-deploy-keystone | Endpoints URLS: 2025-10-01 14:13:51.097479 | controller | : do not match regex' 2025-10-01 14:13:51.097487 | controller | - ' logger.go:42: 13:59:13 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.097494 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.097501 | controller | rely on' 2025-10-01 14:13:51.097508 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.097529 | controller | and checks that' 2025-10-01 14:13:51.097538 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.097546 | controller | pattern' 2025-10-01 14:13:51.097554 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.097561 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.097573 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.097581 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.097588 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.097595 | controller | - ' exit 0' 2025-10-01 14:13:51.097603 | controller | - ' else' 2025-10-01 14:13:51.097610 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.097618 | controller | - ' exit 1' 2025-10-01 14:13:51.097625 | controller | - ' fi' 2025-10-01 14:13:51.097633 | controller | - ' ' 2025-10-01 14:13:51.097641 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.097649 | controller | them with a script' 2025-10-01 14:13:51.097657 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.097664 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.097672 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.097679 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.097687 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.097703 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.097710 | controller | - ' # it is an image' 2025-10-01 14:13:51.097717 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.097724 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.097732 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.097740 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.097747 | controller | - ' case $NAME in' 2025-10-01 14:13:51.097755 | controller | - ' API)' 2025-10-01 14:13:51.097762 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.097770 | controller | - ' ;;' 2025-10-01 14:13:51.097777 | controller | - ' esac' 2025-10-01 14:13:51.097785 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.097792 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.097799 | controller | - ' exit 1' 2025-10-01 14:13:51.097806 | controller | - ' fi' 2025-10-01 14:13:51.097813 | controller | - ' fi' 2025-10-01 14:13:51.097821 | controller | - ' done' 2025-10-01 14:13:51.097829 | controller | - ' ]' 2025-10-01 14:13:51.097836 | controller | - ' logger.go:42: 13:59:13 | keystone_appcred/0-deploy-keystone | Endpoints URLS: 2025-10-01 14:13:51.097844 | controller | : do not match regex' 2025-10-01 14:13:51.097852 | controller | - ' logger.go:42: 13:59:14 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.097865 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.097873 | controller | rely on' 2025-10-01 14:13:51.097881 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.097888 | controller | and checks that' 2025-10-01 14:13:51.097896 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.097903 | controller | pattern' 2025-10-01 14:13:51.097911 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.097918 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.097926 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.097937 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.097945 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.097952 | controller | - ' exit 0' 2025-10-01 14:13:51.097959 | controller | - ' else' 2025-10-01 14:13:51.097967 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.097974 | controller | - ' exit 1' 2025-10-01 14:13:51.097983 | controller | - ' fi' 2025-10-01 14:13:51.097990 | controller | - ' ' 2025-10-01 14:13:51.097998 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.098005 | controller | them with a script' 2025-10-01 14:13:51.098012 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.098020 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.098028 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.098035 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.098042 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.098057 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.098064 | controller | - ' # it is an image' 2025-10-01 14:13:51.098071 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.098079 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.098099 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.098108 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.098116 | controller | - ' case $NAME in' 2025-10-01 14:13:51.098124 | controller | - ' API)' 2025-10-01 14:13:51.098131 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.098139 | controller | - ' ;;' 2025-10-01 14:13:51.098146 | controller | - ' esac' 2025-10-01 14:13:51.098154 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.098162 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.098169 | controller | - ' exit 1' 2025-10-01 14:13:51.098176 | controller | - ' fi' 2025-10-01 14:13:51.098184 | controller | - ' fi' 2025-10-01 14:13:51.098191 | controller | - ' done' 2025-10-01 14:13:51.098198 | controller | - ' ]' 2025-10-01 14:13:51.098206 | controller | - ' logger.go:42: 13:59:14 | keystone_appcred/0-deploy-keystone | Endpoints URLS: 2025-10-01 14:13:51.098213 | controller | : do not match regex' 2025-10-01 14:13:51.098221 | controller | - ' logger.go:42: 13:59:15 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.098228 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.098236 | controller | rely on' 2025-10-01 14:13:51.098243 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.098251 | controller | and checks that' 2025-10-01 14:13:51.098267 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.098275 | controller | pattern' 2025-10-01 14:13:51.098282 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.098290 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.098298 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.098306 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.098314 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.098321 | controller | - ' exit 0' 2025-10-01 14:13:51.098334 | controller | - ' else' 2025-10-01 14:13:51.098342 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.098349 | controller | - ' exit 1' 2025-10-01 14:13:51.098357 | controller | - ' fi' 2025-10-01 14:13:51.098365 | controller | - ' ' 2025-10-01 14:13:51.098372 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.098380 | controller | them with a script' 2025-10-01 14:13:51.098387 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.098395 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.098425 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.098434 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.098442 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.098458 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.098466 | controller | - ' # it is an image' 2025-10-01 14:13:51.098474 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.098481 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.098489 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.098497 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.098505 | controller | - ' case $NAME in' 2025-10-01 14:13:51.098513 | controller | - ' API)' 2025-10-01 14:13:51.098521 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.098529 | controller | - ' ;;' 2025-10-01 14:13:51.098536 | controller | - ' esac' 2025-10-01 14:13:51.098544 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.098552 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.098560 | controller | - ' exit 1' 2025-10-01 14:13:51.098567 | controller | - ' fi' 2025-10-01 14:13:51.098575 | controller | - ' fi' 2025-10-01 14:13:51.098583 | controller | - ' done' 2025-10-01 14:13:51.098590 | controller | - ' ]' 2025-10-01 14:13:51.098598 | controller | - ' logger.go:42: 13:59:15 | keystone_appcred/0-deploy-keystone | Endpoints URLS: 2025-10-01 14:13:51.098606 | controller | : do not match regex' 2025-10-01 14:13:51.098613 | controller | - ' logger.go:42: 13:59:16 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.098621 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.098629 | controller | rely on' 2025-10-01 14:13:51.098637 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.098644 | controller | and checks that' 2025-10-01 14:13:51.098652 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.098660 | controller | pattern' 2025-10-01 14:13:51.098667 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.098675 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.098682 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.098690 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.098703 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.098724 | controller | - ' exit 0' 2025-10-01 14:13:51.098733 | controller | - ' else' 2025-10-01 14:13:51.098740 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.098748 | controller | - ' exit 1' 2025-10-01 14:13:51.098760 | controller | - ' fi' 2025-10-01 14:13:51.098768 | controller | - ' ' 2025-10-01 14:13:51.098775 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.098783 | controller | them with a script' 2025-10-01 14:13:51.098791 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.098799 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.098807 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.098814 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.098822 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.098837 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.098845 | controller | - ' # it is an image' 2025-10-01 14:13:51.098852 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.098860 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.098868 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.098875 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.098883 | controller | - ' case $NAME in' 2025-10-01 14:13:51.098891 | controller | - ' API)' 2025-10-01 14:13:51.098898 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.098906 | controller | - ' ;;' 2025-10-01 14:13:51.098914 | controller | - ' esac' 2025-10-01 14:13:51.098922 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.098930 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.098938 | controller | - ' exit 1' 2025-10-01 14:13:51.098946 | controller | - ' fi' 2025-10-01 14:13:51.098954 | controller | - ' fi' 2025-10-01 14:13:51.098962 | controller | - ' done' 2025-10-01 14:13:51.098969 | controller | - ' ]' 2025-10-01 14:13:51.098977 | controller | - ' logger.go:42: 13:59:17 | keystone_appcred/0-deploy-keystone | Endpoints URLS: 2025-10-01 14:13:51.098985 | controller | : do not match regex' 2025-10-01 14:13:51.098993 | controller | - ' logger.go:42: 13:59:18 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.099001 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.099009 | controller | rely on' 2025-10-01 14:13:51.099016 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.099024 | controller | and checks that' 2025-10-01 14:13:51.099032 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.099040 | controller | pattern' 2025-10-01 14:13:51.099048 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.099056 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.099064 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.099072 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.099079 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.099088 | controller | - ' exit 0' 2025-10-01 14:13:51.099097 | controller | - ' else' 2025-10-01 14:13:51.099107 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.099116 | controller | - ' exit 1' 2025-10-01 14:13:51.099124 | controller | - ' fi' 2025-10-01 14:13:51.099132 | controller | - ' ' 2025-10-01 14:13:51.099140 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.099153 | controller | them with a script' 2025-10-01 14:13:51.099164 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.099173 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.099180 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.099188 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.099196 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.099211 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.099219 | controller | - ' # it is an image' 2025-10-01 14:13:51.099227 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.099235 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.099243 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.099250 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.099258 | controller | - ' case $NAME in' 2025-10-01 14:13:51.099266 | controller | - ' API)' 2025-10-01 14:13:51.099273 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.099281 | controller | - ' ;;' 2025-10-01 14:13:51.099289 | controller | - ' esac' 2025-10-01 14:13:51.099297 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.099305 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.099313 | controller | - ' exit 1' 2025-10-01 14:13:51.099320 | controller | - ' fi' 2025-10-01 14:13:51.099328 | controller | - ' fi' 2025-10-01 14:13:51.099336 | controller | - ' done' 2025-10-01 14:13:51.099355 | controller | - ' ]' 2025-10-01 14:13:51.099364 | controller | - ' logger.go:42: 13:59:18 | keystone_appcred/0-deploy-keystone | Endpoints URLS: 2025-10-01 14:13:51.099373 | controller | : do not match regex' 2025-10-01 14:13:51.099381 | controller | - ' logger.go:42: 13:59:19 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.099389 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.099400 | controller | rely on' 2025-10-01 14:13:51.099429 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.099438 | controller | and checks that' 2025-10-01 14:13:51.099446 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.099453 | controller | pattern' 2025-10-01 14:13:51.099461 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.099469 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.099477 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.099485 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.099498 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.099506 | controller | - ' exit 0' 2025-10-01 14:13:51.099514 | controller | - ' else' 2025-10-01 14:13:51.099522 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.099534 | controller | - ' exit 1' 2025-10-01 14:13:51.099542 | controller | - ' fi' 2025-10-01 14:13:51.099550 | controller | - ' ' 2025-10-01 14:13:51.099558 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.099566 | controller | them with a script' 2025-10-01 14:13:51.099574 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.099582 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.099594 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.099602 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.099610 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.099625 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.099633 | controller | - ' # it is an image' 2025-10-01 14:13:51.099641 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.099648 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.099656 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.099664 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.099672 | controller | - ' case $NAME in' 2025-10-01 14:13:51.099680 | controller | - ' API)' 2025-10-01 14:13:51.099687 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.099695 | controller | - ' ;;' 2025-10-01 14:13:51.099703 | controller | - ' esac' 2025-10-01 14:13:51.099710 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.099718 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.099726 | controller | - ' exit 1' 2025-10-01 14:13:51.099734 | controller | - ' fi' 2025-10-01 14:13:51.099741 | controller | - ' fi' 2025-10-01 14:13:51.099749 | controller | - ' done' 2025-10-01 14:13:51.099756 | controller | - ' ]' 2025-10-01 14:13:51.099764 | controller | - ' logger.go:42: 13:59:19 | keystone_appcred/0-deploy-keystone | Endpoints URLS: 2025-10-01 14:13:51.099771 | controller | : do not match regex' 2025-10-01 14:13:51.099779 | controller | - ' logger.go:42: 13:59:20 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.099786 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.099794 | controller | rely on' 2025-10-01 14:13:51.099801 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.099809 | controller | and checks that' 2025-10-01 14:13:51.099817 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.099824 | controller | pattern' 2025-10-01 14:13:51.099832 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.099839 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.099847 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.099892 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.099901 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.099908 | controller | - ' exit 0' 2025-10-01 14:13:51.099916 | controller | - ' else' 2025-10-01 14:13:51.099924 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.099931 | controller | - ' exit 1' 2025-10-01 14:13:51.099944 | controller | - ' fi' 2025-10-01 14:13:51.099951 | controller | - ' ' 2025-10-01 14:13:51.099959 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.099966 | controller | them with a script' 2025-10-01 14:13:51.099973 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.099981 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.099988 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.100009 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.100022 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.100041 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.100049 | controller | - ' # it is an image' 2025-10-01 14:13:51.100056 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.100064 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.100071 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.100078 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.100086 | controller | - ' case $NAME in' 2025-10-01 14:13:51.100094 | controller | - ' API)' 2025-10-01 14:13:51.100102 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.100110 | controller | - ' ;;' 2025-10-01 14:13:51.100117 | controller | - ' esac' 2025-10-01 14:13:51.100125 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.100133 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.100141 | controller | - ' exit 1' 2025-10-01 14:13:51.100148 | controller | - ' fi' 2025-10-01 14:13:51.100156 | controller | - ' fi' 2025-10-01 14:13:51.100164 | controller | - ' done' 2025-10-01 14:13:51.100171 | controller | - ' ]' 2025-10-01 14:13:51.100179 | controller | - ' logger.go:42: 13:59:20 | keystone_appcred/0-deploy-keystone | Endpoints URLS: 2025-10-01 14:13:51.100187 | controller | : do not match regex' 2025-10-01 14:13:51.100195 | controller | - ' logger.go:42: 13:59:21 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.100203 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.100210 | controller | rely on' 2025-10-01 14:13:51.100218 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.100225 | controller | and checks that' 2025-10-01 14:13:51.100233 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.100240 | controller | pattern' 2025-10-01 14:13:51.100248 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.100255 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.100263 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.100271 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.100278 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.100286 | controller | - ' exit 0' 2025-10-01 14:13:51.100293 | controller | - ' else' 2025-10-01 14:13:51.100301 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.100308 | controller | - ' exit 1' 2025-10-01 14:13:51.100316 | controller | - ' fi' 2025-10-01 14:13:51.100323 | controller | - ' ' 2025-10-01 14:13:51.100330 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.100338 | controller | them with a script' 2025-10-01 14:13:51.100345 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.100352 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.100360 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.100367 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.100374 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.100393 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.100419 | controller | - ' # it is an image' 2025-10-01 14:13:51.100433 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.100441 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.100448 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.100455 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.100463 | controller | - ' case $NAME in' 2025-10-01 14:13:51.100470 | controller | - ' API)' 2025-10-01 14:13:51.100477 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.100485 | controller | - ' ;;' 2025-10-01 14:13:51.100492 | controller | - ' esac' 2025-10-01 14:13:51.100500 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.100508 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.100515 | controller | - ' exit 1' 2025-10-01 14:13:51.100523 | controller | - ' fi' 2025-10-01 14:13:51.100531 | controller | - ' fi' 2025-10-01 14:13:51.100539 | controller | - ' done' 2025-10-01 14:13:51.100547 | controller | - ' ]' 2025-10-01 14:13:51.100555 | controller | - ' logger.go:42: 13:59:21 | keystone_appcred/0-deploy-keystone | Endpoints URLS: 2025-10-01 14:13:51.100562 | controller | : do not match regex' 2025-10-01 14:13:51.100575 | controller | - ' logger.go:42: 13:59:22 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.100584 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.100591 | controller | rely on' 2025-10-01 14:13:51.100599 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.100607 | controller | and checks that' 2025-10-01 14:13:51.100614 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.100634 | controller | pattern' 2025-10-01 14:13:51.100643 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.100650 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.100658 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.100666 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.100673 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.100685 | controller | - ' exit 0' 2025-10-01 14:13:51.100692 | controller | - ' else' 2025-10-01 14:13:51.100700 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.100708 | controller | - ' exit 1' 2025-10-01 14:13:51.100715 | controller | - ' fi' 2025-10-01 14:13:51.100723 | controller | - ' ' 2025-10-01 14:13:51.100730 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.100738 | controller | them with a script' 2025-10-01 14:13:51.100746 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.100754 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.100761 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.100769 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.100777 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.100792 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.100800 | controller | - ' # it is an image' 2025-10-01 14:13:51.100807 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.100822 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.100830 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.100837 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.100845 | controller | - ' case $NAME in' 2025-10-01 14:13:51.100852 | controller | - ' API)' 2025-10-01 14:13:51.100860 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.100867 | controller | - ' ;;' 2025-10-01 14:13:51.100874 | controller | - ' esac' 2025-10-01 14:13:51.100882 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.100889 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.100896 | controller | - ' exit 1' 2025-10-01 14:13:51.100904 | controller | - ' fi' 2025-10-01 14:13:51.100911 | controller | - ' fi' 2025-10-01 14:13:51.100918 | controller | - ' done' 2025-10-01 14:13:51.100926 | controller | - ' ]' 2025-10-01 14:13:51.100934 | controller | - ' logger.go:42: 13:59:22 | keystone_appcred/0-deploy-keystone | Endpoints URLS: 2025-10-01 14:13:51.100941 | controller | : do not match regex' 2025-10-01 14:13:51.100949 | controller | - ' logger.go:42: 13:59:24 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.100957 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.100965 | controller | rely on' 2025-10-01 14:13:51.100973 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.100980 | controller | and checks that' 2025-10-01 14:13:51.100988 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.100996 | controller | pattern' 2025-10-01 14:13:51.101004 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.101011 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.101018 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.101026 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.101033 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.101041 | controller | - ' exit 0' 2025-10-01 14:13:51.101049 | controller | - ' else' 2025-10-01 14:13:51.101057 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.101064 | controller | - ' exit 1' 2025-10-01 14:13:51.101072 | controller | - ' fi' 2025-10-01 14:13:51.101079 | controller | - ' ' 2025-10-01 14:13:51.101088 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.101097 | controller | them with a script' 2025-10-01 14:13:51.101106 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.101115 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.101123 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.101131 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.101139 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.101155 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.101163 | controller | - ' # it is an image' 2025-10-01 14:13:51.101171 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.101179 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.101186 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.101199 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.101220 | controller | - ' case $NAME in' 2025-10-01 14:13:51.101229 | controller | - ' API)' 2025-10-01 14:13:51.101238 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.101246 | controller | - ' ;;' 2025-10-01 14:13:51.101254 | controller | - ' esac' 2025-10-01 14:13:51.101262 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.101270 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.101277 | controller | - ' exit 1' 2025-10-01 14:13:51.101285 | controller | - ' fi' 2025-10-01 14:13:51.101294 | controller | - ' fi' 2025-10-01 14:13:51.101301 | controller | - ' done' 2025-10-01 14:13:51.101309 | controller | - ' ]' 2025-10-01 14:13:51.101316 | controller | - ' logger.go:42: 13:59:24 | keystone_appcred/0-deploy-keystone | Endpoints URLS: 2025-10-01 14:13:51.101324 | controller | : do not match regex' 2025-10-01 14:13:51.101332 | controller | - ' logger.go:42: 13:59:25 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.101339 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.101347 | controller | rely on' 2025-10-01 14:13:51.101355 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.101363 | controller | and checks that' 2025-10-01 14:13:51.101370 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.101378 | controller | pattern' 2025-10-01 14:13:51.101386 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.101393 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.101419 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.101431 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.101439 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.101447 | controller | - ' exit 0' 2025-10-01 14:13:51.101455 | controller | - ' else' 2025-10-01 14:13:51.101462 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.101470 | controller | - ' exit 1' 2025-10-01 14:13:51.101477 | controller | - ' fi' 2025-10-01 14:13:51.101485 | controller | - ' ' 2025-10-01 14:13:51.101492 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.101500 | controller | them with a script' 2025-10-01 14:13:51.101513 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.101521 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.101529 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.101536 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.101544 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.101559 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.101567 | controller | - ' # it is an image' 2025-10-01 14:13:51.101574 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.101582 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.101589 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.101597 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.101605 | controller | - ' case $NAME in' 2025-10-01 14:13:51.101612 | controller | - ' API)' 2025-10-01 14:13:51.101625 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.101632 | controller | - ' ;;' 2025-10-01 14:13:51.101640 | controller | - ' esac' 2025-10-01 14:13:51.101648 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.101655 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.101663 | controller | - ' exit 1' 2025-10-01 14:13:51.101671 | controller | - ' fi' 2025-10-01 14:13:51.101678 | controller | - ' fi' 2025-10-01 14:13:51.101686 | controller | - ' done' 2025-10-01 14:13:51.101693 | controller | - ' ]' 2025-10-01 14:13:51.101701 | controller | - ' logger.go:42: 13:59:25 | keystone_appcred/0-deploy-keystone | Endpoints URLS: 2025-10-01 14:13:51.101709 | controller | : do not match regex' 2025-10-01 14:13:51.101717 | controller | - ' logger.go:42: 13:59:26 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.101724 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.101732 | controller | rely on' 2025-10-01 14:13:51.101740 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.101747 | controller | and checks that' 2025-10-01 14:13:51.101755 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.101762 | controller | pattern' 2025-10-01 14:13:51.101770 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.101783 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.101791 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.101798 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.101806 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.101813 | controller | - ' exit 0' 2025-10-01 14:13:51.101821 | controller | - ' else' 2025-10-01 14:13:51.101845 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.101854 | controller | - ' exit 1' 2025-10-01 14:13:51.101862 | controller | - ' fi' 2025-10-01 14:13:51.101870 | controller | - ' ' 2025-10-01 14:13:51.101877 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.101885 | controller | them with a script' 2025-10-01 14:13:51.101892 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.101900 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.101907 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.101915 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.101922 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.101938 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.101945 | controller | - ' # it is an image' 2025-10-01 14:13:51.101953 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.101960 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.101968 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.101975 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.101983 | controller | - ' case $NAME in' 2025-10-01 14:13:51.101990 | controller | - ' API)' 2025-10-01 14:13:51.101998 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.102005 | controller | - ' ;;' 2025-10-01 14:13:51.102017 | controller | - ' esac' 2025-10-01 14:13:51.102025 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.102033 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.102041 | controller | - ' exit 1' 2025-10-01 14:13:51.102048 | controller | - ' fi' 2025-10-01 14:13:51.102056 | controller | - ' fi' 2025-10-01 14:13:51.102064 | controller | - ' done' 2025-10-01 14:13:51.102071 | controller | - ' ]' 2025-10-01 14:13:51.102079 | controller | - ' logger.go:42: 13:59:26 | keystone_appcred/0-deploy-keystone | Endpoints URLS: 2025-10-01 14:13:51.102087 | controller | : do not match regex' 2025-10-01 14:13:51.102096 | controller | - ' logger.go:42: 13:59:27 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.102105 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.102113 | controller | rely on' 2025-10-01 14:13:51.102121 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.102129 | controller | and checks that' 2025-10-01 14:13:51.102136 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.102144 | controller | pattern' 2025-10-01 14:13:51.102151 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.102159 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.102166 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.102174 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.102182 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.102189 | controller | - ' exit 0' 2025-10-01 14:13:51.102197 | controller | - ' else' 2025-10-01 14:13:51.102205 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.102213 | controller | - ' exit 1' 2025-10-01 14:13:51.102220 | controller | - ' fi' 2025-10-01 14:13:51.102228 | controller | - ' ' 2025-10-01 14:13:51.102235 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.102243 | controller | them with a script' 2025-10-01 14:13:51.102250 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.102258 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.102265 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.102273 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.102284 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.102300 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.102308 | controller | - ' # it is an image' 2025-10-01 14:13:51.102316 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.102323 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.102331 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.102338 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.102346 | controller | - ' case $NAME in' 2025-10-01 14:13:51.102354 | controller | - ' API)' 2025-10-01 14:13:51.102361 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.102369 | controller | - ' ;;' 2025-10-01 14:13:51.102376 | controller | - ' esac' 2025-10-01 14:13:51.102384 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.102391 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.102420 | controller | - ' exit 1' 2025-10-01 14:13:51.102433 | controller | - ' fi' 2025-10-01 14:13:51.102441 | controller | - ' fi' 2025-10-01 14:13:51.102449 | controller | - ' done' 2025-10-01 14:13:51.102456 | controller | - ' ]' 2025-10-01 14:13:51.102464 | controller | - ' logger.go:42: 13:59:27 | keystone_appcred/0-deploy-keystone | Endpoints URLS: 2025-10-01 14:13:51.102483 | controller | : do not match regex' 2025-10-01 14:13:51.102491 | controller | - ' logger.go:42: 13:59:28 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.102498 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.102506 | controller | rely on' 2025-10-01 14:13:51.102513 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.102521 | controller | and checks that' 2025-10-01 14:13:51.102529 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.102536 | controller | pattern' 2025-10-01 14:13:51.102544 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.102551 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.102559 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.102566 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.102573 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.102581 | controller | - ' exit 0' 2025-10-01 14:13:51.102588 | controller | - ' else' 2025-10-01 14:13:51.102595 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.102603 | controller | - ' exit 1' 2025-10-01 14:13:51.102611 | controller | - ' fi' 2025-10-01 14:13:51.102619 | controller | - ' ' 2025-10-01 14:13:51.102627 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.102634 | controller | them with a script' 2025-10-01 14:13:51.102641 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.102649 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.102656 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.102664 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.102671 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.102686 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.102838 | controller | - ' # it is an image' 2025-10-01 14:13:51.102855 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.102864 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.102872 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.102880 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.102888 | controller | - ' case $NAME in' 2025-10-01 14:13:51.102895 | controller | - ' API)' 2025-10-01 14:13:51.102903 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.102911 | controller | - ' ;;' 2025-10-01 14:13:51.102919 | controller | - ' esac' 2025-10-01 14:13:51.102926 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.102934 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.102942 | controller | - ' exit 1' 2025-10-01 14:13:51.102950 | controller | - ' fi' 2025-10-01 14:13:51.102958 | controller | - ' fi' 2025-10-01 14:13:51.102971 | controller | - ' done' 2025-10-01 14:13:51.102979 | controller | - ' ]' 2025-10-01 14:13:51.102987 | controller | - ' logger.go:42: 13:59:29 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.102995 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.103003 | controller | rely on' 2025-10-01 14:13:51.103010 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.103018 | controller | and checks that' 2025-10-01 14:13:51.103025 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.103033 | controller | pattern' 2025-10-01 14:13:51.103040 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.103048 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.103055 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.103063 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.103070 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.103079 | controller | - ' exit 0' 2025-10-01 14:13:51.103086 | controller | - ' else' 2025-10-01 14:13:51.103093 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.103101 | controller | - ' exit 1' 2025-10-01 14:13:51.103108 | controller | - ' fi' 2025-10-01 14:13:51.103116 | controller | - ' ' 2025-10-01 14:13:51.103124 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.103137 | controller | them with a script' 2025-10-01 14:13:51.103145 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.103153 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.103161 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.103169 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.103177 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.103192 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.103200 | controller | - ' # it is an image' 2025-10-01 14:13:51.103262 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.103275 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.103282 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.103290 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.103297 | controller | - ' case $NAME in' 2025-10-01 14:13:51.103304 | controller | - ' API)' 2025-10-01 14:13:51.103311 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.103318 | controller | - ' ;;' 2025-10-01 14:13:51.103325 | controller | - ' esac' 2025-10-01 14:13:51.103338 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.103422 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.103446 | controller | - ' exit 1' 2025-10-01 14:13:51.103459 | controller | - ' fi' 2025-10-01 14:13:51.103466 | controller | - ' fi' 2025-10-01 14:13:51.103479 | controller | - ' done' 2025-10-01 14:13:51.103495 | controller | - ' ]' 2025-10-01 14:13:51.103504 | controller | - ' logger.go:42: 13:59:31 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.103513 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.103524 | controller | rely on' 2025-10-01 14:13:51.103533 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.103548 | controller | and checks that' 2025-10-01 14:13:51.103560 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.103572 | controller | pattern' 2025-10-01 14:13:51.103580 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.103588 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.103609 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.103617 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.103625 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.103634 | controller | - ' exit 0' 2025-10-01 14:13:51.103642 | controller | - ' else' 2025-10-01 14:13:51.103650 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.103661 | controller | - ' exit 1' 2025-10-01 14:13:51.103668 | controller | - ' fi' 2025-10-01 14:13:51.103676 | controller | - ' ' 2025-10-01 14:13:51.103684 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.103692 | controller | them with a script' 2025-10-01 14:13:51.103705 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.103720 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.103727 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.103735 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.103743 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.103759 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.103766 | controller | - ' # it is an image' 2025-10-01 14:13:51.103778 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.103793 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.103800 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.103807 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.103851 | controller | - ' case $NAME in' 2025-10-01 14:13:51.103890 | controller | - ' API)' 2025-10-01 14:13:51.103898 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.103906 | controller | - ' ;;' 2025-10-01 14:13:51.103913 | controller | - ' esac' 2025-10-01 14:13:51.103920 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.103927 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.103935 | controller | - ' exit 1' 2025-10-01 14:13:51.103942 | controller | - ' fi' 2025-10-01 14:13:51.103949 | controller | - ' fi' 2025-10-01 14:13:51.103956 | controller | - ' done' 2025-10-01 14:13:51.104049 | controller | - ' ]' 2025-10-01 14:13:51.104059 | controller | - ' logger.go:42: 13:59:32 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.104066 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.104073 | controller | rely on' 2025-10-01 14:13:51.104081 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.104093 | controller | and checks that' 2025-10-01 14:13:51.104133 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.104142 | controller | pattern' 2025-10-01 14:13:51.104151 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.104172 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.104186 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.104197 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.104216 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.104225 | controller | - ' exit 0' 2025-10-01 14:13:51.104236 | controller | - ' else' 2025-10-01 14:13:51.104256 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.104265 | controller | - ' exit 1' 2025-10-01 14:13:51.104277 | controller | - ' fi' 2025-10-01 14:13:51.104289 | controller | - ' ' 2025-10-01 14:13:51.104297 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.104343 | controller | them with a script' 2025-10-01 14:13:51.104352 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.104361 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.104378 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.104395 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.104483 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.104500 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.104507 | controller | - ' # it is an image' 2025-10-01 14:13:51.104520 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.104532 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.104540 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.104548 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.104571 | controller | - ' case $NAME in' 2025-10-01 14:13:51.104583 | controller | - ' API)' 2025-10-01 14:13:51.104594 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.104605 | controller | - ' ;;' 2025-10-01 14:13:51.104614 | controller | - ' esac' 2025-10-01 14:13:51.104650 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.104658 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.104669 | controller | - ' exit 1' 2025-10-01 14:13:51.104735 | controller | - ' fi' 2025-10-01 14:13:51.104744 | controller | - ' fi' 2025-10-01 14:13:51.104752 | controller | - ' done' 2025-10-01 14:13:51.104759 | controller | - ' ]' 2025-10-01 14:13:51.104766 | controller | - ' logger.go:42: 13:59:33 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.104773 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.104786 | controller | rely on' 2025-10-01 14:13:51.104858 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.104868 | controller | and checks that' 2025-10-01 14:13:51.104875 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.104883 | controller | pattern' 2025-10-01 14:13:51.104895 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.104947 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.104962 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.104971 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.104979 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.104994 | controller | - ' exit 0' 2025-10-01 14:13:51.105004 | controller | - ' else' 2025-10-01 14:13:51.105012 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.105020 | controller | - ' exit 1' 2025-10-01 14:13:51.105027 | controller | - ' fi' 2025-10-01 14:13:51.105036 | controller | - ' ' 2025-10-01 14:13:51.105048 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.105080 | controller | them with a script' 2025-10-01 14:13:51.105094 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.105111 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.105120 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.105127 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.105135 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.105155 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.105172 | controller | - ' # it is an image' 2025-10-01 14:13:51.105180 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.105188 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.105196 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.105229 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.105238 | controller | - ' case $NAME in' 2025-10-01 14:13:51.105245 | controller | - ' API)' 2025-10-01 14:13:51.105258 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.105276 | controller | - ' ;;' 2025-10-01 14:13:51.105287 | controller | - ' esac' 2025-10-01 14:13:51.105303 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.105312 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.105320 | controller | - ' exit 1' 2025-10-01 14:13:51.105328 | controller | - ' fi' 2025-10-01 14:13:51.105335 | controller | - ' fi' 2025-10-01 14:13:51.105349 | controller | - ' done' 2025-10-01 14:13:51.105357 | controller | - ' ]' 2025-10-01 14:13:51.105366 | controller | - ' logger.go:42: 13:59:34 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.105375 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.105392 | controller | rely on' 2025-10-01 14:13:51.105442 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.105452 | controller | and checks that' 2025-10-01 14:13:51.105459 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.105468 | controller | pattern' 2025-10-01 14:13:51.105480 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.105491 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.105503 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.105535 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.105544 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.105562 | controller | - ' exit 0' 2025-10-01 14:13:51.105571 | controller | - ' else' 2025-10-01 14:13:51.105582 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.105593 | controller | - ' exit 1' 2025-10-01 14:13:51.105639 | controller | - ' fi' 2025-10-01 14:13:51.105653 | controller | - ' ' 2025-10-01 14:13:51.105673 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.105689 | controller | them with a script' 2025-10-01 14:13:51.105701 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.105709 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.105721 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.105761 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.105771 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.105785 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.105793 | controller | - ' # it is an image' 2025-10-01 14:13:51.105800 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.105808 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.105848 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.105855 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.105867 | controller | - ' case $NAME in' 2025-10-01 14:13:51.105874 | controller | - ' API)' 2025-10-01 14:13:51.105882 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.105889 | controller | - ' ;;' 2025-10-01 14:13:51.105897 | controller | - ' esac' 2025-10-01 14:13:51.105987 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.105997 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.106008 | controller | - ' exit 1' 2025-10-01 14:13:51.106027 | controller | - ' fi' 2025-10-01 14:13:51.106035 | controller | - ' fi' 2025-10-01 14:13:51.106049 | controller | - ' done' 2025-10-01 14:13:51.106068 | controller | - ' ]' 2025-10-01 14:13:51.106080 | controller | - ' logger.go:42: 13:59:35 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.106093 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.106108 | controller | rely on' 2025-10-01 14:13:51.106119 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.106130 | controller | and checks that' 2025-10-01 14:13:51.106137 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.106146 | controller | pattern' 2025-10-01 14:13:51.106154 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.106162 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.106170 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.106179 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.106195 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.106203 | controller | - ' exit 0' 2025-10-01 14:13:51.106244 | controller | - ' else' 2025-10-01 14:13:51.106258 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.106326 | controller | - ' exit 1' 2025-10-01 14:13:51.106334 | controller | - ' fi' 2025-10-01 14:13:51.106342 | controller | - ' ' 2025-10-01 14:13:51.106349 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.106361 | controller | them with a script' 2025-10-01 14:13:51.106422 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.106433 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.106488 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.106506 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.106514 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.106531 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.106542 | controller | - ' # it is an image' 2025-10-01 14:13:51.106580 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.106593 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.106615 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.106626 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.106634 | controller | - ' case $NAME in' 2025-10-01 14:13:51.106642 | controller | - ' API)' 2025-10-01 14:13:51.106650 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.106658 | controller | - ' ;;' 2025-10-01 14:13:51.106670 | controller | - ' esac' 2025-10-01 14:13:51.106682 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.106690 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.106699 | controller | - ' exit 1' 2025-10-01 14:13:51.106710 | controller | - ' fi' 2025-10-01 14:13:51.106721 | controller | - ' fi' 2025-10-01 14:13:51.106735 | controller | - ' done' 2025-10-01 14:13:51.106746 | controller | - ' ]' 2025-10-01 14:13:51.106753 | controller | - ' logger.go:42: 13:59:37 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.106762 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.106774 | controller | rely on' 2025-10-01 14:13:51.106785 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.106792 | controller | and checks that' 2025-10-01 14:13:51.106800 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.106809 | controller | pattern' 2025-10-01 14:13:51.106818 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.106826 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.106834 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.106845 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.106856 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.106867 | controller | - ' exit 0' 2025-10-01 14:13:51.106914 | controller | - ' else' 2025-10-01 14:13:51.106922 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.106931 | controller | - ' exit 1' 2025-10-01 14:13:51.106951 | controller | - ' fi' 2025-10-01 14:13:51.106958 | controller | - ' ' 2025-10-01 14:13:51.106966 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.106975 | controller | them with a script' 2025-10-01 14:13:51.106987 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.107059 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.107068 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.107075 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.107083 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.107099 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.107115 | controller | - ' # it is an image' 2025-10-01 14:13:51.107133 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.107141 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.107153 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.107275 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.107286 | controller | - ' case $NAME in' 2025-10-01 14:13:51.107295 | controller | - ' API)' 2025-10-01 14:13:51.107307 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.107317 | controller | - ' ;;' 2025-10-01 14:13:51.107329 | controller | - ' esac' 2025-10-01 14:13:51.107361 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.107369 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.107381 | controller | - ' exit 1' 2025-10-01 14:13:51.107392 | controller | - ' fi' 2025-10-01 14:13:51.107413 | controller | - ' fi' 2025-10-01 14:13:51.107429 | controller | - ' done' 2025-10-01 14:13:51.107438 | controller | - ' ]' 2025-10-01 14:13:51.107454 | controller | - ' logger.go:42: 13:59:38 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.107467 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.107486 | controller | rely on' 2025-10-01 14:13:51.107494 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.107502 | controller | and checks that' 2025-10-01 14:13:51.107516 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.107528 | controller | pattern' 2025-10-01 14:13:51.107573 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.107585 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.107596 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.107603 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.107612 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.107620 | controller | - ' exit 0' 2025-10-01 14:13:51.107628 | controller | - ' else' 2025-10-01 14:13:51.107636 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.107772 | controller | - ' exit 1' 2025-10-01 14:13:51.107791 | controller | - ' fi' 2025-10-01 14:13:51.107803 | controller | - ' ' 2025-10-01 14:13:51.107822 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.107834 | controller | them with a script' 2025-10-01 14:13:51.107853 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.107862 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.107894 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.107962 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.107972 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.107994 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.108035 | controller | - ' # it is an image' 2025-10-01 14:13:51.108044 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.108050 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.108092 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.108136 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.108147 | controller | - ' case $NAME in' 2025-10-01 14:13:51.108154 | controller | - ' API)' 2025-10-01 14:13:51.108160 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.108170 | controller | - ' ;;' 2025-10-01 14:13:51.108200 | controller | - ' esac' 2025-10-01 14:13:51.108209 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.108248 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.108280 | controller | - ' exit 1' 2025-10-01 14:13:51.108309 | controller | - ' fi' 2025-10-01 14:13:51.108319 | controller | - ' fi' 2025-10-01 14:13:51.108351 | controller | - ' done' 2025-10-01 14:13:51.108382 | controller | - ' ]' 2025-10-01 14:13:51.108443 | controller | - ' logger.go:42: 13:59:39 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.108453 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.108462 | controller | rely on' 2025-10-01 14:13:51.108470 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.108476 | controller | and checks that' 2025-10-01 14:13:51.108486 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.108543 | controller | pattern' 2025-10-01 14:13:51.108557 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.108581 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.108592 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.108599 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.108605 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.108615 | controller | - ' exit 0' 2025-10-01 14:13:51.108626 | controller | - ' else' 2025-10-01 14:13:51.108633 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.108643 | controller | - ' exit 1' 2025-10-01 14:13:51.108680 | controller | - ' fi' 2025-10-01 14:13:51.108698 | controller | - ' ' 2025-10-01 14:13:51.108708 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.108723 | controller | them with a script' 2025-10-01 14:13:51.108732 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.108746 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.108754 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.108760 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.108766 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.108818 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.108829 | controller | - ' # it is an image' 2025-10-01 14:13:51.108835 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.108841 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.108847 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.108853 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.108888 | controller | - ' case $NAME in' 2025-10-01 14:13:51.108894 | controller | - ' API)' 2025-10-01 14:13:51.108900 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.108906 | controller | - ' ;;' 2025-10-01 14:13:51.108916 | controller | - ' esac' 2025-10-01 14:13:51.108927 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.108937 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.108943 | controller | - ' exit 1' 2025-10-01 14:13:51.108952 | controller | - ' fi' 2025-10-01 14:13:51.108986 | controller | - ' fi' 2025-10-01 14:13:51.108996 | controller | - ' done' 2025-10-01 14:13:51.109007 | controller | - ' ]' 2025-10-01 14:13:51.109013 | controller | - ' logger.go:42: 13:59:40 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.109019 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.109025 | controller | rely on' 2025-10-01 14:13:51.109034 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.109064 | controller | and checks that' 2025-10-01 14:13:51.109074 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.109080 | controller | pattern' 2025-10-01 14:13:51.109094 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.109101 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.109107 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.109113 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.109119 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.109124 | controller | - ' exit 0' 2025-10-01 14:13:51.109130 | controller | - ' else' 2025-10-01 14:13:51.109136 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.109142 | controller | - ' exit 1' 2025-10-01 14:13:51.109148 | controller | - ' fi' 2025-10-01 14:13:51.109153 | controller | - ' ' 2025-10-01 14:13:51.109159 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.109165 | controller | them with a script' 2025-10-01 14:13:51.109171 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.109176 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.109182 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.109188 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.109194 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.109209 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.109217 | controller | - ' # it is an image' 2025-10-01 14:13:51.109224 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.109232 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.109240 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.109247 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.109255 | controller | - ' case $NAME in' 2025-10-01 14:13:51.109262 | controller | - ' API)' 2025-10-01 14:13:51.109269 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.109320 | controller | - ' ;;' 2025-10-01 14:13:51.109330 | controller | - ' esac' 2025-10-01 14:13:51.109337 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.109345 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.109352 | controller | - ' exit 1' 2025-10-01 14:13:51.109360 | controller | - ' fi' 2025-10-01 14:13:51.109367 | controller | - ' fi' 2025-10-01 14:13:51.109384 | controller | - ' done' 2025-10-01 14:13:51.109392 | controller | - ' ]' 2025-10-01 14:13:51.109422 | controller | - ' logger.go:42: 13:59:41 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.109435 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.109443 | controller | rely on' 2025-10-01 14:13:51.109450 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.109458 | controller | and checks that' 2025-10-01 14:13:51.109465 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.109472 | controller | pattern' 2025-10-01 14:13:51.109479 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.109486 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.109493 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.109500 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.109507 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.109515 | controller | - ' exit 0' 2025-10-01 14:13:51.109521 | controller | - ' else' 2025-10-01 14:13:51.109528 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.109535 | controller | - ' exit 1' 2025-10-01 14:13:51.109542 | controller | - ' fi' 2025-10-01 14:13:51.109549 | controller | - ' ' 2025-10-01 14:13:51.109556 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.109563 | controller | them with a script' 2025-10-01 14:13:51.109570 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.109577 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.109584 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.109591 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.109598 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.109612 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.109619 | controller | - ' # it is an image' 2025-10-01 14:13:51.109626 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.109633 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.109640 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.109647 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.109654 | controller | - ' case $NAME in' 2025-10-01 14:13:51.109661 | controller | - ' API)' 2025-10-01 14:13:51.109668 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.109686 | controller | - ' ;;' 2025-10-01 14:13:51.109694 | controller | - ' esac' 2025-10-01 14:13:51.109701 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.109709 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.109716 | controller | - ' exit 1' 2025-10-01 14:13:51.109724 | controller | - ' fi' 2025-10-01 14:13:51.109731 | controller | - ' fi' 2025-10-01 14:13:51.109737 | controller | - ' done' 2025-10-01 14:13:51.109744 | controller | - ' ]' 2025-10-01 14:13:51.109751 | controller | - ' logger.go:42: 13:59:43 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.109758 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.109765 | controller | rely on' 2025-10-01 14:13:51.109772 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.109784 | controller | and checks that' 2025-10-01 14:13:51.109791 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.109799 | controller | pattern' 2025-10-01 14:13:51.109806 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.109813 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.109821 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.109828 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.109835 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.109842 | controller | - ' exit 0' 2025-10-01 14:13:51.109849 | controller | - ' else' 2025-10-01 14:13:51.109856 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.109863 | controller | - ' exit 1' 2025-10-01 14:13:51.109870 | controller | - ' fi' 2025-10-01 14:13:51.109878 | controller | - ' ' 2025-10-01 14:13:51.109885 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.109892 | controller | them with a script' 2025-10-01 14:13:51.109899 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.109907 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.109915 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.109923 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.109930 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.109945 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.109953 | controller | - ' # it is an image' 2025-10-01 14:13:51.109961 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.109968 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.109976 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.109988 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.109996 | controller | - ' case $NAME in' 2025-10-01 14:13:51.110003 | controller | - ' API)' 2025-10-01 14:13:51.110011 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.110019 | controller | - ' ;;' 2025-10-01 14:13:51.110026 | controller | - ' esac' 2025-10-01 14:13:51.110034 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.110040 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.110046 | controller | - ' exit 1' 2025-10-01 14:13:51.110052 | controller | - ' fi' 2025-10-01 14:13:51.110058 | controller | - ' fi' 2025-10-01 14:13:51.110064 | controller | - ' done' 2025-10-01 14:13:51.110070 | controller | - ' ]' 2025-10-01 14:13:51.110075 | controller | - ' logger.go:42: 13:59:44 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.110081 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.110087 | controller | rely on' 2025-10-01 14:13:51.110098 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.110104 | controller | and checks that' 2025-10-01 14:13:51.110111 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.110119 | controller | pattern' 2025-10-01 14:13:51.110125 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.110135 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.110187 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.110195 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.110201 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.110206 | controller | - ' exit 0' 2025-10-01 14:13:51.110212 | controller | - ' else' 2025-10-01 14:13:51.110218 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.110224 | controller | - ' exit 1' 2025-10-01 14:13:51.110230 | controller | - ' fi' 2025-10-01 14:13:51.110235 | controller | - ' ' 2025-10-01 14:13:51.110241 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.110247 | controller | them with a script' 2025-10-01 14:13:51.110253 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.110258 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.110268 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.110285 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.110291 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.110303 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.110309 | controller | - ' # it is an image' 2025-10-01 14:13:51.110315 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.110320 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.110326 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.110332 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.110338 | controller | - ' case $NAME in' 2025-10-01 14:13:51.110344 | controller | - ' API)' 2025-10-01 14:13:51.110349 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.110355 | controller | - ' ;;' 2025-10-01 14:13:51.110361 | controller | - ' esac' 2025-10-01 14:13:51.110370 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.110376 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.110382 | controller | - ' exit 1' 2025-10-01 14:13:51.110388 | controller | - ' fi' 2025-10-01 14:13:51.110393 | controller | - ' fi' 2025-10-01 14:13:51.110503 | controller | - ' done' 2025-10-01 14:13:51.110519 | controller | - ' ]' 2025-10-01 14:13:51.110526 | controller | - ' logger.go:42: 13:59:45 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.110534 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.110541 | controller | rely on' 2025-10-01 14:13:51.110549 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.110556 | controller | and checks that' 2025-10-01 14:13:51.110563 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.110571 | controller | pattern' 2025-10-01 14:13:51.110578 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.110585 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.110593 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.110600 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.110608 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.110620 | controller | - ' exit 0' 2025-10-01 14:13:51.110628 | controller | - ' else' 2025-10-01 14:13:51.110635 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.110643 | controller | - ' exit 1' 2025-10-01 14:13:51.110655 | controller | - ' fi' 2025-10-01 14:13:51.110662 | controller | - ' ' 2025-10-01 14:13:51.110670 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.110677 | controller | them with a script' 2025-10-01 14:13:51.110685 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.110692 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.110700 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.110707 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.110715 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.110730 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.110738 | controller | - ' # it is an image' 2025-10-01 14:13:51.110746 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.110753 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.110761 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.110769 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.110777 | controller | - ' case $NAME in' 2025-10-01 14:13:51.110824 | controller | - ' API)' 2025-10-01 14:13:51.110833 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.110841 | controller | - ' ;;' 2025-10-01 14:13:51.110848 | controller | - ' esac' 2025-10-01 14:13:51.110855 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.110868 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.110875 | controller | - ' exit 1' 2025-10-01 14:13:51.110882 | controller | - ' fi' 2025-10-01 14:13:51.110890 | controller | - ' fi' 2025-10-01 14:13:51.110897 | controller | - ' done' 2025-10-01 14:13:51.110904 | controller | - ' ]' 2025-10-01 14:13:51.110912 | controller | - ' logger.go:42: 13:59:46 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.110919 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.110926 | controller | rely on' 2025-10-01 14:13:51.110934 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.110941 | controller | and checks that' 2025-10-01 14:13:51.110949 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.110956 | controller | pattern' 2025-10-01 14:13:51.110963 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.110971 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.110990 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.111000 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.111008 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.111020 | controller | - ' exit 0' 2025-10-01 14:13:51.111028 | controller | - ' else' 2025-10-01 14:13:51.111036 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.111044 | controller | - ' exit 1' 2025-10-01 14:13:51.111052 | controller | - ' fi' 2025-10-01 14:13:51.111060 | controller | - ' ' 2025-10-01 14:13:51.111067 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.111080 | controller | them with a script' 2025-10-01 14:13:51.111087 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.111095 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.111103 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.111111 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.111118 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.111133 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.111141 | controller | - ' # it is an image' 2025-10-01 14:13:51.111148 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.111156 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.111198 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.111210 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.111217 | controller | - ' case $NAME in' 2025-10-01 14:13:51.111225 | controller | - ' API)' 2025-10-01 14:13:51.111233 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.111240 | controller | - ' ;;' 2025-10-01 14:13:51.111277 | controller | - ' esac' 2025-10-01 14:13:51.111286 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.111294 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.111301 | controller | - ' exit 1' 2025-10-01 14:13:51.111309 | controller | - ' fi' 2025-10-01 14:13:51.111317 | controller | - ' fi' 2025-10-01 14:13:51.111325 | controller | - ' done' 2025-10-01 14:13:51.111333 | controller | - ' ]' 2025-10-01 14:13:51.111340 | controller | - ' logger.go:42: 13:59:47 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.111348 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.111356 | controller | rely on' 2025-10-01 14:13:51.111364 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.111372 | controller | and checks that' 2025-10-01 14:13:51.111379 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.111387 | controller | pattern' 2025-10-01 14:13:51.111395 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.111432 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.111441 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.111448 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.111456 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.111464 | controller | - ' exit 0' 2025-10-01 14:13:51.111472 | controller | - ' else' 2025-10-01 14:13:51.111480 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.111488 | controller | - ' exit 1' 2025-10-01 14:13:51.111496 | controller | - ' fi' 2025-10-01 14:13:51.111504 | controller | - ' ' 2025-10-01 14:13:51.111512 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.111520 | controller | them with a script' 2025-10-01 14:13:51.111527 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.111535 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.111542 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.111556 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.111564 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.111579 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.111624 | controller | - ' # it is an image' 2025-10-01 14:13:51.111635 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.111643 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.111651 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.111658 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.111666 | controller | - ' case $NAME in' 2025-10-01 14:13:51.111674 | controller | - ' API)' 2025-10-01 14:13:51.111682 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.111689 | controller | - ' ;;' 2025-10-01 14:13:51.111697 | controller | - ' esac' 2025-10-01 14:13:51.111705 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.111712 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.111720 | controller | - ' exit 1' 2025-10-01 14:13:51.111728 | controller | - ' fi' 2025-10-01 14:13:51.111748 | controller | - ' fi' 2025-10-01 14:13:51.111757 | controller | - ' done' 2025-10-01 14:13:51.111764 | controller | - ' ]' 2025-10-01 14:13:51.111772 | controller | - ' logger.go:42: 13:59:49 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.111780 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.111788 | controller | rely on' 2025-10-01 14:13:51.111796 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.111804 | controller | and checks that' 2025-10-01 14:13:51.111811 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.111819 | controller | pattern' 2025-10-01 14:13:51.111827 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.111835 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.111842 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.111850 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.111858 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.111866 | controller | - ' exit 0' 2025-10-01 14:13:51.111873 | controller | - ' else' 2025-10-01 14:13:51.111906 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.111914 | controller | - ' exit 1' 2025-10-01 14:13:51.111921 | controller | - ' fi' 2025-10-01 14:13:51.111929 | controller | - ' ' 2025-10-01 14:13:51.111937 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.111944 | controller | them with a script' 2025-10-01 14:13:51.111958 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.111967 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.112013 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.112026 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.112034 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.112049 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.112062 | controller | - ' # it is an image' 2025-10-01 14:13:51.112069 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.112077 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.112085 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.112093 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.112100 | controller | - ' case $NAME in' 2025-10-01 14:13:51.112106 | controller | - ' API)' 2025-10-01 14:13:51.112112 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.112117 | controller | - ' ;;' 2025-10-01 14:13:51.112123 | controller | - ' esac' 2025-10-01 14:13:51.112129 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.112135 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.112140 | controller | - ' exit 1' 2025-10-01 14:13:51.112146 | controller | - ' fi' 2025-10-01 14:13:51.112152 | controller | - ' fi' 2025-10-01 14:13:51.112158 | controller | - ' done' 2025-10-01 14:13:51.112163 | controller | - ' ]' 2025-10-01 14:13:51.112169 | controller | - ' logger.go:42: 13:59:50 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.112175 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.112181 | controller | rely on' 2025-10-01 14:13:51.112187 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.112192 | controller | and checks that' 2025-10-01 14:13:51.112198 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.112204 | controller | pattern' 2025-10-01 14:13:51.112210 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.112215 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.112221 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.112227 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.112233 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.112239 | controller | - ' exit 0' 2025-10-01 14:13:51.112244 | controller | - ' else' 2025-10-01 14:13:51.112250 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.112256 | controller | - ' exit 1' 2025-10-01 14:13:51.112262 | controller | - ' fi' 2025-10-01 14:13:51.112267 | controller | - ' ' 2025-10-01 14:13:51.112273 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.112279 | controller | them with a script' 2025-10-01 14:13:51.112293 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.112299 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.112305 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.112310 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.112316 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.112328 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.112344 | controller | - ' # it is an image' 2025-10-01 14:13:51.112351 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.112357 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.112363 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.112372 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.112378 | controller | - ' case $NAME in' 2025-10-01 14:13:51.112384 | controller | - ' API)' 2025-10-01 14:13:51.112389 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.112395 | controller | - ' ;;' 2025-10-01 14:13:51.112425 | controller | - ' esac' 2025-10-01 14:13:51.112433 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.112438 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.112444 | controller | - ' exit 1' 2025-10-01 14:13:51.112451 | controller | - ' fi' 2025-10-01 14:13:51.112458 | controller | - ' fi' 2025-10-01 14:13:51.112466 | controller | - ' done' 2025-10-01 14:13:51.112473 | controller | - ' ]' 2025-10-01 14:13:51.112480 | controller | - ' logger.go:42: 13:59:51 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.112488 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.112496 | controller | rely on' 2025-10-01 14:13:51.112503 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.112509 | controller | and checks that' 2025-10-01 14:13:51.112515 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.112521 | controller | pattern' 2025-10-01 14:13:51.112527 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.112532 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.112538 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.112544 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.112550 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.112556 | controller | - ' exit 0' 2025-10-01 14:13:51.112561 | controller | - ' else' 2025-10-01 14:13:51.112567 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.112573 | controller | - ' exit 1' 2025-10-01 14:13:51.112579 | controller | - ' fi' 2025-10-01 14:13:51.112585 | controller | - ' ' 2025-10-01 14:13:51.112590 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.112596 | controller | them with a script' 2025-10-01 14:13:51.112602 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.112608 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.112614 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.112619 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.112625 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.112637 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.112643 | controller | - ' # it is an image' 2025-10-01 14:13:51.112648 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.112654 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.112660 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.112666 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.112672 | controller | - ' case $NAME in' 2025-10-01 14:13:51.112677 | controller | - ' API)' 2025-10-01 14:13:51.112683 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.112689 | controller | - ' ;;' 2025-10-01 14:13:51.112699 | controller | - ' esac' 2025-10-01 14:13:51.112705 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.112710 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.112716 | controller | - ' exit 1' 2025-10-01 14:13:51.112722 | controller | - ' fi' 2025-10-01 14:13:51.112728 | controller | - ' fi' 2025-10-01 14:13:51.112733 | controller | - ' done' 2025-10-01 14:13:51.112739 | controller | - ' ]' 2025-10-01 14:13:51.112745 | controller | - ' logger.go:42: 13:59:52 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.112751 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.112756 | controller | rely on' 2025-10-01 14:13:51.112762 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.112768 | controller | and checks that' 2025-10-01 14:13:51.112774 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.112780 | controller | pattern' 2025-10-01 14:13:51.112785 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.112791 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.112797 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.112803 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.112812 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.112818 | controller | - ' exit 0' 2025-10-01 14:13:51.112823 | controller | - ' else' 2025-10-01 14:13:51.112839 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.112845 | controller | - ' exit 1' 2025-10-01 14:13:51.112851 | controller | - ' fi' 2025-10-01 14:13:51.112857 | controller | - ' ' 2025-10-01 14:13:51.112862 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.112868 | controller | them with a script' 2025-10-01 14:13:51.112874 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.112880 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.112918 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.112927 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.112933 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.112944 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.112950 | controller | - ' # it is an image' 2025-10-01 14:13:51.112957 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.112964 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.112972 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.112979 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.112986 | controller | - ' case $NAME in' 2025-10-01 14:13:51.112993 | controller | - ' API)' 2025-10-01 14:13:51.113001 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.113009 | controller | - ' ;;' 2025-10-01 14:13:51.113017 | controller | - ' esac' 2025-10-01 14:13:51.113024 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.113031 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.113039 | controller | - ' exit 1' 2025-10-01 14:13:51.113046 | controller | - ' fi' 2025-10-01 14:13:51.113053 | controller | - ' fi' 2025-10-01 14:13:51.113060 | controller | - ' done' 2025-10-01 14:13:51.113072 | controller | - ' ]' 2025-10-01 14:13:51.113079 | controller | - ' logger.go:42: 13:59:54 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.113086 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.113094 | controller | rely on' 2025-10-01 14:13:51.113100 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.113107 | controller | and checks that' 2025-10-01 14:13:51.113114 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.113121 | controller | pattern' 2025-10-01 14:13:51.113128 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.113135 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.113142 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.113153 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.113161 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.113168 | controller | - ' exit 0' 2025-10-01 14:13:51.113175 | controller | - ' else' 2025-10-01 14:13:51.113182 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.113189 | controller | - ' exit 1' 2025-10-01 14:13:51.113196 | controller | - ' fi' 2025-10-01 14:13:51.113203 | controller | - ' ' 2025-10-01 14:13:51.113214 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.113221 | controller | them with a script' 2025-10-01 14:13:51.113228 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.113235 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.113243 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.113250 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.113257 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.113272 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.113279 | controller | - ' # it is an image' 2025-10-01 14:13:51.113286 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.113293 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.113300 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.113308 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.113315 | controller | - ' case $NAME in' 2025-10-01 14:13:51.113322 | controller | - ' API)' 2025-10-01 14:13:51.113330 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.113338 | controller | - ' ;;' 2025-10-01 14:13:51.113345 | controller | - ' esac' 2025-10-01 14:13:51.113353 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.113360 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.113368 | controller | - ' exit 1' 2025-10-01 14:13:51.113375 | controller | - ' fi' 2025-10-01 14:13:51.113383 | controller | - ' fi' 2025-10-01 14:13:51.113391 | controller | - ' done' 2025-10-01 14:13:51.113415 | controller | - ' ]' 2025-10-01 14:13:51.113428 | controller | - ' logger.go:42: 13:59:55 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.113448 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.113457 | controller | rely on' 2025-10-01 14:13:51.113465 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.113477 | controller | and checks that' 2025-10-01 14:13:51.113485 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.113492 | controller | pattern' 2025-10-01 14:13:51.113500 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.113507 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.113515 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.113522 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.113529 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.113537 | controller | - ' exit 0' 2025-10-01 14:13:51.113544 | controller | - ' else' 2025-10-01 14:13:51.113552 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.113559 | controller | - ' exit 1' 2025-10-01 14:13:51.113567 | controller | - ' fi' 2025-10-01 14:13:51.113574 | controller | - ' ' 2025-10-01 14:13:51.113581 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.113589 | controller | them with a script' 2025-10-01 14:13:51.113597 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.113605 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.113659 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.113672 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.113681 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.113696 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.113704 | controller | - ' # it is an image' 2025-10-01 14:13:51.113712 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.113719 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.113727 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.113734 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.113742 | controller | - ' case $NAME in' 2025-10-01 14:13:51.113749 | controller | - ' API)' 2025-10-01 14:13:51.113756 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.113764 | controller | - ' ;;' 2025-10-01 14:13:51.113771 | controller | - ' esac' 2025-10-01 14:13:51.113784 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.113792 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.113799 | controller | - ' exit 1' 2025-10-01 14:13:51.113810 | controller | - ' fi' 2025-10-01 14:13:51.113818 | controller | - ' fi' 2025-10-01 14:13:51.113825 | controller | - ' done' 2025-10-01 14:13:51.113832 | controller | - ' ]' 2025-10-01 14:13:51.113839 | controller | - ' logger.go:42: 13:59:56 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.113846 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.113853 | controller | rely on' 2025-10-01 14:13:51.113861 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.113868 | controller | and checks that' 2025-10-01 14:13:51.113875 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.113883 | controller | pattern' 2025-10-01 14:13:51.113890 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.113902 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.113910 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.113917 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.113924 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.113931 | controller | - ' exit 0' 2025-10-01 14:13:51.113938 | controller | - ' else' 2025-10-01 14:13:51.113946 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.113953 | controller | - ' exit 1' 2025-10-01 14:13:51.113960 | controller | - ' fi' 2025-10-01 14:13:51.113967 | controller | - ' ' 2025-10-01 14:13:51.113974 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.113982 | controller | them with a script' 2025-10-01 14:13:51.113990 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.113997 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.114005 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.114012 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.114020 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.114035 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.114042 | controller | - ' # it is an image' 2025-10-01 14:13:51.114050 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.114057 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.114077 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.114085 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.114093 | controller | - ' case $NAME in' 2025-10-01 14:13:51.114102 | controller | - ' API)' 2025-10-01 14:13:51.114110 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.114120 | controller | - ' ;;' 2025-10-01 14:13:51.114127 | controller | - ' esac' 2025-10-01 14:13:51.114134 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.114142 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.114149 | controller | - ' exit 1' 2025-10-01 14:13:51.114157 | controller | - ' fi' 2025-10-01 14:13:51.114164 | controller | - ' fi' 2025-10-01 14:13:51.114171 | controller | - ' done' 2025-10-01 14:13:51.114178 | controller | - ' ]' 2025-10-01 14:13:51.114186 | controller | - ' logger.go:42: 13:59:57 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.114193 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.114200 | controller | rely on' 2025-10-01 14:13:51.114208 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.114215 | controller | and checks that' 2025-10-01 14:13:51.114222 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.114229 | controller | pattern' 2025-10-01 14:13:51.114273 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.114283 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.114290 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.114298 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.114305 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.114319 | controller | - ' exit 0' 2025-10-01 14:13:51.114326 | controller | - ' else' 2025-10-01 14:13:51.114334 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.114341 | controller | - ' exit 1' 2025-10-01 14:13:51.114349 | controller | - ' fi' 2025-10-01 14:13:51.114356 | controller | - ' ' 2025-10-01 14:13:51.114364 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.114372 | controller | them with a script' 2025-10-01 14:13:51.114379 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.114387 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.114394 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.114424 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.114432 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.114446 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.114454 | controller | - ' # it is an image' 2025-10-01 14:13:51.114461 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.114469 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.114476 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.114489 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.114497 | controller | - ' case $NAME in' 2025-10-01 14:13:51.114505 | controller | - ' API)' 2025-10-01 14:13:51.114512 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.114519 | controller | - ' ;;' 2025-10-01 14:13:51.114527 | controller | - ' esac' 2025-10-01 14:13:51.114535 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.114587 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.114598 | controller | - ' exit 1' 2025-10-01 14:13:51.114605 | controller | - ' fi' 2025-10-01 14:13:51.114613 | controller | - ' fi' 2025-10-01 14:13:51.114620 | controller | - ' done' 2025-10-01 14:13:51.114628 | controller | - ' ]' 2025-10-01 14:13:51.114635 | controller | - ' logger.go:42: 13:59:58 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.114643 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.114650 | controller | rely on' 2025-10-01 14:13:51.114657 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.114665 | controller | and checks that' 2025-10-01 14:13:51.114678 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.114686 | controller | pattern' 2025-10-01 14:13:51.114693 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.114701 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.114708 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.114716 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.114723 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.114734 | controller | - ' exit 0' 2025-10-01 14:13:51.114742 | controller | - ' else' 2025-10-01 14:13:51.114749 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.114756 | controller | - ' exit 1' 2025-10-01 14:13:51.114764 | controller | - ' fi' 2025-10-01 14:13:51.114805 | controller | - ' ' 2025-10-01 14:13:51.114815 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.114834 | controller | them with a script' 2025-10-01 14:13:51.114848 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.114856 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.114863 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.114871 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.114879 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.114894 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.114902 | controller | - ' # it is an image' 2025-10-01 14:13:51.114909 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.114917 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.114924 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.114932 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.114978 | controller | - ' case $NAME in' 2025-10-01 14:13:51.114988 | controller | - ' API)' 2025-10-01 14:13:51.114995 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.115003 | controller | - ' ;;' 2025-10-01 14:13:51.115011 | controller | - ' esac' 2025-10-01 14:13:51.115061 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.115075 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.115082 | controller | - ' exit 1' 2025-10-01 14:13:51.115092 | controller | - ' fi' 2025-10-01 14:13:51.115101 | controller | - ' fi' 2025-10-01 14:13:51.115110 | controller | - ' done' 2025-10-01 14:13:51.115119 | controller | - ' ]' 2025-10-01 14:13:51.115127 | controller | - ' logger.go:42: 13:59:59 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.115135 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.115143 | controller | rely on' 2025-10-01 14:13:51.115151 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.115159 | controller | and checks that' 2025-10-01 14:13:51.115168 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.115176 | controller | pattern' 2025-10-01 14:13:51.115184 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.115198 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.115206 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.115214 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.115221 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.115229 | controller | - ' exit 0' 2025-10-01 14:13:51.115237 | controller | - ' else' 2025-10-01 14:13:51.115244 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.115252 | controller | - ' exit 1' 2025-10-01 14:13:51.115260 | controller | - ' fi' 2025-10-01 14:13:51.115267 | controller | - ' ' 2025-10-01 14:13:51.115275 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.115283 | controller | them with a script' 2025-10-01 14:13:51.115331 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.115341 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.115349 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.115433 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.115450 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.115467 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.115475 | controller | - ' # it is an image' 2025-10-01 14:13:51.115482 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.115490 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.115498 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.115506 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.115514 | controller | - ' case $NAME in' 2025-10-01 14:13:51.115521 | controller | - ' API)' 2025-10-01 14:13:51.115529 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.115537 | controller | - ' ;;' 2025-10-01 14:13:51.115544 | controller | - ' esac' 2025-10-01 14:13:51.115552 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.115560 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.115568 | controller | - ' exit 1' 2025-10-01 14:13:51.115576 | controller | - ' fi' 2025-10-01 14:13:51.115584 | controller | - ' fi' 2025-10-01 14:13:51.115597 | controller | - ' done' 2025-10-01 14:13:51.115605 | controller | - ' ]' 2025-10-01 14:13:51.115612 | controller | - ' logger.go:42: 14:00:01 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.115620 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.115628 | controller | rely on' 2025-10-01 14:13:51.115635 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.115643 | controller | and checks that' 2025-10-01 14:13:51.115651 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.115658 | controller | pattern' 2025-10-01 14:13:51.115672 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.115680 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.115688 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.115696 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.115704 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.115712 | controller | - ' exit 0' 2025-10-01 14:13:51.115720 | controller | - ' else' 2025-10-01 14:13:51.115767 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.115775 | controller | - ' exit 1' 2025-10-01 14:13:51.115783 | controller | - ' fi' 2025-10-01 14:13:51.115791 | controller | - ' ' 2025-10-01 14:13:51.115798 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.115806 | controller | them with a script' 2025-10-01 14:13:51.115814 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.115822 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.115829 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.115837 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.115845 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.115860 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.115873 | controller | - ' # it is an image' 2025-10-01 14:13:51.115882 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.115908 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.115917 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.115924 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.115932 | controller | - ' case $NAME in' 2025-10-01 14:13:51.115940 | controller | - ' API)' 2025-10-01 14:13:51.115947 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.115955 | controller | - ' ;;' 2025-10-01 14:13:51.115963 | controller | - ' esac' 2025-10-01 14:13:51.115971 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.115978 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.115986 | controller | - ' exit 1' 2025-10-01 14:13:51.115994 | controller | - ' fi' 2025-10-01 14:13:51.116002 | controller | - ' fi' 2025-10-01 14:13:51.116009 | controller | - ' done' 2025-10-01 14:13:51.116017 | controller | - ' ]' 2025-10-01 14:13:51.116025 | controller | - ' logger.go:42: 14:00:02 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.116033 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.116041 | controller | rely on' 2025-10-01 14:13:51.116048 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.116056 | controller | and checks that' 2025-10-01 14:13:51.116064 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.116072 | controller | pattern' 2025-10-01 14:13:51.116079 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.116087 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.116095 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.116102 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.116110 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.116123 | controller | - ' exit 0' 2025-10-01 14:13:51.116131 | controller | - ' else' 2025-10-01 14:13:51.116138 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.116146 | controller | - ' exit 1' 2025-10-01 14:13:51.116154 | controller | - ' fi' 2025-10-01 14:13:51.116162 | controller | - ' ' 2025-10-01 14:13:51.116169 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.116177 | controller | them with a script' 2025-10-01 14:13:51.116185 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.116192 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.116200 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.116208 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.116216 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.116231 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.116239 | controller | - ' # it is an image' 2025-10-01 14:13:51.116247 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.116255 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.116262 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.116275 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.116283 | controller | - ' case $NAME in' 2025-10-01 14:13:51.116291 | controller | - ' API)' 2025-10-01 14:13:51.116304 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.116312 | controller | - ' ;;' 2025-10-01 14:13:51.116320 | controller | - ' esac' 2025-10-01 14:13:51.116327 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.116335 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.116343 | controller | - ' exit 1' 2025-10-01 14:13:51.116350 | controller | - ' fi' 2025-10-01 14:13:51.116358 | controller | - ' fi' 2025-10-01 14:13:51.116366 | controller | - ' done' 2025-10-01 14:13:51.116373 | controller | - ' ]' 2025-10-01 14:13:51.116381 | controller | - ' logger.go:42: 14:00:03 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.116389 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.116420 | controller | rely on' 2025-10-01 14:13:51.116439 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.116447 | controller | and checks that' 2025-10-01 14:13:51.116455 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.116462 | controller | pattern' 2025-10-01 14:13:51.116470 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.116478 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.116486 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.116493 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.116501 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.116509 | controller | - ' exit 0' 2025-10-01 14:13:51.116516 | controller | - ' else' 2025-10-01 14:13:51.116524 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.116531 | controller | - ' exit 1' 2025-10-01 14:13:51.116539 | controller | - ' fi' 2025-10-01 14:13:51.116546 | controller | - ' ' 2025-10-01 14:13:51.116554 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.116585 | controller | them with a script' 2025-10-01 14:13:51.116594 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.116602 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.116609 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.116617 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.116625 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.116641 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.116649 | controller | - ' # it is an image' 2025-10-01 14:13:51.116657 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.116664 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.116672 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.116680 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.116688 | controller | - ' case $NAME in' 2025-10-01 14:13:51.116696 | controller | - ' API)' 2025-10-01 14:13:51.116704 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.116712 | controller | - ' ;;' 2025-10-01 14:13:51.116719 | controller | - ' esac' 2025-10-01 14:13:51.116732 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.116740 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.116747 | controller | - ' exit 1' 2025-10-01 14:13:51.116755 | controller | - ' fi' 2025-10-01 14:13:51.116762 | controller | - ' fi' 2025-10-01 14:13:51.116769 | controller | - ' done' 2025-10-01 14:13:51.116777 | controller | - ' ]' 2025-10-01 14:13:51.116784 | controller | - ' logger.go:42: 14:00:04 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.116791 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.116799 | controller | rely on' 2025-10-01 14:13:51.116806 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.116813 | controller | and checks that' 2025-10-01 14:13:51.116820 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.116828 | controller | pattern' 2025-10-01 14:13:51.116835 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.116842 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.116850 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.116858 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.116865 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.116873 | controller | - ' exit 0' 2025-10-01 14:13:51.116880 | controller | - ' else' 2025-10-01 14:13:51.116888 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.116895 | controller | - ' exit 1' 2025-10-01 14:13:51.116903 | controller | - ' fi' 2025-10-01 14:13:51.116912 | controller | - ' ' 2025-10-01 14:13:51.116919 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.116927 | controller | them with a script' 2025-10-01 14:13:51.116935 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.116942 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.116957 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.116965 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.116972 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.116988 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.116995 | controller | - ' # it is an image' 2025-10-01 14:13:51.117003 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.117010 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.117018 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.117025 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.117033 | controller | - ' case $NAME in' 2025-10-01 14:13:51.117041 | controller | - ' API)' 2025-10-01 14:13:51.117049 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.117057 | controller | - ' ;;' 2025-10-01 14:13:51.117064 | controller | - ' esac' 2025-10-01 14:13:51.117072 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.117080 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.117088 | controller | - ' exit 1' 2025-10-01 14:13:51.117096 | controller | - ' fi' 2025-10-01 14:13:51.117104 | controller | - ' fi' 2025-10-01 14:13:51.117112 | controller | - ' done' 2025-10-01 14:13:51.117125 | controller | - ' ]' 2025-10-01 14:13:51.117134 | controller | - ' logger.go:42: 14:00:06 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.117142 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.117150 | controller | rely on' 2025-10-01 14:13:51.117157 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.117164 | controller | and checks that' 2025-10-01 14:13:51.117177 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.117185 | controller | pattern' 2025-10-01 14:13:51.117192 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.117200 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.117208 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.117215 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.117223 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.117230 | controller | - ' exit 0' 2025-10-01 14:13:51.117238 | controller | - ' else' 2025-10-01 14:13:51.117245 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.117252 | controller | - ' exit 1' 2025-10-01 14:13:51.117260 | controller | - ' fi' 2025-10-01 14:13:51.117267 | controller | - ' ' 2025-10-01 14:13:51.117274 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.117282 | controller | them with a script' 2025-10-01 14:13:51.117288 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.117295 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.117303 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.117310 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.117317 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.117331 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.117339 | controller | - ' # it is an image' 2025-10-01 14:13:51.117346 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.117358 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.117365 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.117373 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.117380 | controller | - ' case $NAME in' 2025-10-01 14:13:51.117388 | controller | - ' API)' 2025-10-01 14:13:51.117415 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.117428 | controller | - ' ;;' 2025-10-01 14:13:51.117436 | controller | - ' esac' 2025-10-01 14:13:51.117443 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.117451 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.117458 | controller | - ' exit 1' 2025-10-01 14:13:51.117466 | controller | - ' fi' 2025-10-01 14:13:51.117473 | controller | - ' fi' 2025-10-01 14:13:51.117480 | controller | - ' done' 2025-10-01 14:13:51.117488 | controller | - ' ]' 2025-10-01 14:13:51.117495 | controller | - ' logger.go:42: 14:00:07 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.117503 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.117511 | controller | rely on' 2025-10-01 14:13:51.117518 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.117530 | controller | and checks that' 2025-10-01 14:13:51.117538 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.117545 | controller | pattern' 2025-10-01 14:13:51.117553 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.117561 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.117575 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.117583 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.117591 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.117598 | controller | - ' exit 0' 2025-10-01 14:13:51.117605 | controller | - ' else' 2025-10-01 14:13:51.117612 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.117620 | controller | - ' exit 1' 2025-10-01 14:13:51.117627 | controller | - ' fi' 2025-10-01 14:13:51.117635 | controller | - ' ' 2025-10-01 14:13:51.117642 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.117650 | controller | them with a script' 2025-10-01 14:13:51.117657 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.117665 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.117672 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.117680 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.117688 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.117702 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.117710 | controller | - ' # it is an image' 2025-10-01 14:13:51.117717 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.117724 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.117731 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.117738 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.117745 | controller | - ' case $NAME in' 2025-10-01 14:13:51.117752 | controller | - ' API)' 2025-10-01 14:13:51.117759 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.117767 | controller | - ' ;;' 2025-10-01 14:13:51.117774 | controller | - ' esac' 2025-10-01 14:13:51.117781 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.117788 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.117795 | controller | - ' exit 1' 2025-10-01 14:13:51.117802 | controller | - ' fi' 2025-10-01 14:13:51.117809 | controller | - ' fi' 2025-10-01 14:13:51.117816 | controller | - ' done' 2025-10-01 14:13:51.117823 | controller | - ' ]' 2025-10-01 14:13:51.117830 | controller | - ' logger.go:42: 14:00:08 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.117843 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.117850 | controller | rely on' 2025-10-01 14:13:51.117858 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.117865 | controller | and checks that' 2025-10-01 14:13:51.117873 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.117880 | controller | pattern' 2025-10-01 14:13:51.117888 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.117900 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.117908 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.117915 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.117923 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.117930 | controller | - ' exit 0' 2025-10-01 14:13:51.117938 | controller | - ' else' 2025-10-01 14:13:51.117945 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.117952 | controller | - ' exit 1' 2025-10-01 14:13:51.117960 | controller | - ' fi' 2025-10-01 14:13:51.117967 | controller | - ' ' 2025-10-01 14:13:51.117975 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.117982 | controller | them with a script' 2025-10-01 14:13:51.117989 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.117997 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.118004 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.118012 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.118019 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.118034 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.118042 | controller | - ' # it is an image' 2025-10-01 14:13:51.118050 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.118057 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.118065 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.118081 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.118089 | controller | - ' case $NAME in' 2025-10-01 14:13:51.118096 | controller | - ' API)' 2025-10-01 14:13:51.118104 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.118111 | controller | - ' ;;' 2025-10-01 14:13:51.118119 | controller | - ' esac' 2025-10-01 14:13:51.118127 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.118136 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.118145 | controller | - ' exit 1' 2025-10-01 14:13:51.118160 | controller | - ' fi' 2025-10-01 14:13:51.118169 | controller | - ' fi' 2025-10-01 14:13:51.118176 | controller | - ' done' 2025-10-01 14:13:51.118183 | controller | - ' ]' 2025-10-01 14:13:51.118191 | controller | - ' logger.go:42: 14:00:09 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.118198 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.118206 | controller | rely on' 2025-10-01 14:13:51.118214 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.118221 | controller | and checks that' 2025-10-01 14:13:51.118229 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.118236 | controller | pattern' 2025-10-01 14:13:51.118243 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.118251 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.118258 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.118266 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.118273 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.118287 | controller | - ' exit 0' 2025-10-01 14:13:51.118295 | controller | - ' else' 2025-10-01 14:13:51.118302 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.118310 | controller | - ' exit 1' 2025-10-01 14:13:51.118318 | controller | - ' fi' 2025-10-01 14:13:51.118325 | controller | - ' ' 2025-10-01 14:13:51.118332 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.118340 | controller | them with a script' 2025-10-01 14:13:51.118348 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.118355 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.118363 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.118370 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.118378 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.118394 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.118431 | controller | - ' # it is an image' 2025-10-01 14:13:51.118439 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.118447 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.118454 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.118462 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.118469 | controller | - ' case $NAME in' 2025-10-01 14:13:51.118477 | controller | - ' API)' 2025-10-01 14:13:51.118484 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.118492 | controller | - ' ;;' 2025-10-01 14:13:51.118499 | controller | - ' esac' 2025-10-01 14:13:51.118507 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.118515 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.118522 | controller | - ' exit 1' 2025-10-01 14:13:51.118530 | controller | - ' fi' 2025-10-01 14:13:51.118537 | controller | - ' fi' 2025-10-01 14:13:51.118545 | controller | - ' done' 2025-10-01 14:13:51.118553 | controller | - ' ]' 2025-10-01 14:13:51.118560 | controller | - ' logger.go:42: 14:00:10 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.118567 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.118575 | controller | rely on' 2025-10-01 14:13:51.118583 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.118590 | controller | and checks that' 2025-10-01 14:13:51.118598 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.118605 | controller | pattern' 2025-10-01 14:13:51.118613 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.118621 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.118628 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.118636 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.118643 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.118657 | controller | - ' exit 0' 2025-10-01 14:13:51.118665 | controller | - ' else' 2025-10-01 14:13:51.118673 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.118680 | controller | - ' exit 1' 2025-10-01 14:13:51.118709 | controller | - ' fi' 2025-10-01 14:13:51.118718 | controller | - ' ' 2025-10-01 14:13:51.118725 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.118737 | controller | them with a script' 2025-10-01 14:13:51.118745 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.118753 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.118760 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.118768 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.118776 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.118795 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.118810 | controller | - ' # it is an image' 2025-10-01 14:13:51.118818 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.118826 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.118833 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.118840 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.118848 | controller | - ' case $NAME in' 2025-10-01 14:13:51.118856 | controller | - ' API)' 2025-10-01 14:13:51.118863 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.118871 | controller | - ' ;;' 2025-10-01 14:13:51.118878 | controller | - ' esac' 2025-10-01 14:13:51.118886 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.118893 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.118901 | controller | - ' exit 1' 2025-10-01 14:13:51.118908 | controller | - ' fi' 2025-10-01 14:13:51.118916 | controller | - ' fi' 2025-10-01 14:13:51.118923 | controller | - ' done' 2025-10-01 14:13:51.118931 | controller | - ' ]' 2025-10-01 14:13:51.118938 | controller | - ' logger.go:42: 14:00:12 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.118946 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.118953 | controller | rely on' 2025-10-01 14:13:51.118960 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.118968 | controller | and checks that' 2025-10-01 14:13:51.118975 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.118982 | controller | pattern' 2025-10-01 14:13:51.118990 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.118997 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.119005 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.119012 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.119019 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.119027 | controller | - ' exit 0' 2025-10-01 14:13:51.119034 | controller | - ' else' 2025-10-01 14:13:51.119042 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.119049 | controller | - ' exit 1' 2025-10-01 14:13:51.119056 | controller | - ' fi' 2025-10-01 14:13:51.119064 | controller | - ' ' 2025-10-01 14:13:51.119071 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.119079 | controller | them with a script' 2025-10-01 14:13:51.119087 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.119095 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.119102 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.119115 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.119123 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.119138 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.119146 | controller | - ' # it is an image' 2025-10-01 14:13:51.119153 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.119161 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.119168 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.119176 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.119188 | controller | - ' case $NAME in' 2025-10-01 14:13:51.119196 | controller | - ' API)' 2025-10-01 14:13:51.119204 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.119211 | controller | - ' ;;' 2025-10-01 14:13:51.119219 | controller | - ' esac' 2025-10-01 14:13:51.119226 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.119234 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.119241 | controller | - ' exit 1' 2025-10-01 14:13:51.119248 | controller | - ' fi' 2025-10-01 14:13:51.119255 | controller | - ' fi' 2025-10-01 14:13:51.119261 | controller | - ' done' 2025-10-01 14:13:51.119268 | controller | - ' ]' 2025-10-01 14:13:51.119275 | controller | - ' logger.go:42: 14:00:13 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.119282 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.119289 | controller | rely on' 2025-10-01 14:13:51.119297 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.119304 | controller | and checks that' 2025-10-01 14:13:51.119312 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.119320 | controller | pattern' 2025-10-01 14:13:51.119327 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.119335 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.119348 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.119356 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.119364 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.119372 | controller | - ' exit 0' 2025-10-01 14:13:51.119380 | controller | - ' else' 2025-10-01 14:13:51.119411 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.119426 | controller | - ' exit 1' 2025-10-01 14:13:51.119434 | controller | - ' fi' 2025-10-01 14:13:51.119442 | controller | - ' ' 2025-10-01 14:13:51.119449 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.119456 | controller | them with a script' 2025-10-01 14:13:51.119464 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.119472 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.119479 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.119486 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.119493 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.119508 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.119523 | controller | - ' # it is an image' 2025-10-01 14:13:51.119532 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.119539 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.119547 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.119554 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.119562 | controller | - ' case $NAME in' 2025-10-01 14:13:51.119569 | controller | - ' API)' 2025-10-01 14:13:51.119576 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.119583 | controller | - ' ;;' 2025-10-01 14:13:51.119590 | controller | - ' esac' 2025-10-01 14:13:51.119598 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.119606 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.119613 | controller | - ' exit 1' 2025-10-01 14:13:51.119621 | controller | - ' fi' 2025-10-01 14:13:51.119628 | controller | - ' fi' 2025-10-01 14:13:51.119635 | controller | - ' done' 2025-10-01 14:13:51.119642 | controller | - ' ]' 2025-10-01 14:13:51.119649 | controller | - ' logger.go:42: 14:00:14 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.119656 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.119664 | controller | rely on' 2025-10-01 14:13:51.119671 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.119679 | controller | and checks that' 2025-10-01 14:13:51.119687 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.119695 | controller | pattern' 2025-10-01 14:13:51.119702 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.119710 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.119717 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.119725 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.119732 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.119739 | controller | - ' exit 0' 2025-10-01 14:13:51.119747 | controller | - ' else' 2025-10-01 14:13:51.119754 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.119761 | controller | - ' exit 1' 2025-10-01 14:13:51.119769 | controller | - ' fi' 2025-10-01 14:13:51.119776 | controller | - ' ' 2025-10-01 14:13:51.119784 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.119791 | controller | them with a script' 2025-10-01 14:13:51.119798 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.119806 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.119813 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.119820 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.119828 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.119842 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.119850 | controller | - ' # it is an image' 2025-10-01 14:13:51.119858 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.119866 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.119873 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.119885 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.119892 | controller | - ' case $NAME in' 2025-10-01 14:13:51.119926 | controller | - ' API)' 2025-10-01 14:13:51.119934 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.119941 | controller | - ' ;;' 2025-10-01 14:13:51.119949 | controller | - ' esac' 2025-10-01 14:13:51.119956 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.119963 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.119971 | controller | - ' exit 1' 2025-10-01 14:13:51.119979 | controller | - ' fi' 2025-10-01 14:13:51.119987 | controller | - ' fi' 2025-10-01 14:13:51.119994 | controller | - ' done' 2025-10-01 14:13:51.120002 | controller | - ' ]' 2025-10-01 14:13:51.120010 | controller | - ' logger.go:42: 14:00:15 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.120023 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.120031 | controller | rely on' 2025-10-01 14:13:51.120039 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.120046 | controller | and checks that' 2025-10-01 14:13:51.120053 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.120060 | controller | pattern' 2025-10-01 14:13:51.120068 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.120075 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.120083 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.120090 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.120098 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.120105 | controller | - ' exit 0' 2025-10-01 14:13:51.120112 | controller | - ' else' 2025-10-01 14:13:51.120120 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.120127 | controller | - ' exit 1' 2025-10-01 14:13:51.120134 | controller | - ' fi' 2025-10-01 14:13:51.120142 | controller | - ' ' 2025-10-01 14:13:51.120149 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.120157 | controller | them with a script' 2025-10-01 14:13:51.120170 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.120177 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.120184 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.120192 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.120199 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.120214 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.120221 | controller | - ' # it is an image' 2025-10-01 14:13:51.120228 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.120235 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.120243 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.120250 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.120257 | controller | - ' case $NAME in' 2025-10-01 14:13:51.120265 | controller | - ' API)' 2025-10-01 14:13:51.120272 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.120280 | controller | - ' ;;' 2025-10-01 14:13:51.120288 | controller | - ' esac' 2025-10-01 14:13:51.120300 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.120308 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.120315 | controller | - ' exit 1' 2025-10-01 14:13:51.120323 | controller | - ' fi' 2025-10-01 14:13:51.120330 | controller | - ' fi' 2025-10-01 14:13:51.120338 | controller | - ' done' 2025-10-01 14:13:51.120345 | controller | - ' ]' 2025-10-01 14:13:51.120353 | controller | - ' logger.go:42: 14:00:16 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.120360 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.120368 | controller | rely on' 2025-10-01 14:13:51.120376 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.120383 | controller | and checks that' 2025-10-01 14:13:51.120391 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.120418 | controller | pattern' 2025-10-01 14:13:51.120434 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.120441 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.120449 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.120456 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.120464 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.120471 | controller | - ' exit 0' 2025-10-01 14:13:51.120478 | controller | - ' else' 2025-10-01 14:13:51.120486 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.120493 | controller | - ' exit 1' 2025-10-01 14:13:51.120501 | controller | - ' fi' 2025-10-01 14:13:51.120508 | controller | - ' ' 2025-10-01 14:13:51.120515 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.120523 | controller | them with a script' 2025-10-01 14:13:51.120530 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.120537 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.120545 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.120552 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.120559 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.120574 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.120585 | controller | - ' # it is an image' 2025-10-01 14:13:51.120592 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.120600 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.120613 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.120621 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.120628 | controller | - ' case $NAME in' 2025-10-01 14:13:51.120635 | controller | - ' API)' 2025-10-01 14:13:51.120643 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.120650 | controller | - ' ;;' 2025-10-01 14:13:51.120657 | controller | - ' esac' 2025-10-01 14:13:51.120665 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.120672 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.120679 | controller | - ' exit 1' 2025-10-01 14:13:51.120687 | controller | - ' fi' 2025-10-01 14:13:51.120694 | controller | - ' fi' 2025-10-01 14:13:51.120701 | controller | - ' done' 2025-10-01 14:13:51.120712 | controller | - ' ]' 2025-10-01 14:13:51.120720 | controller | - ' logger.go:42: 14:00:17 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.120727 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.120735 | controller | rely on' 2025-10-01 14:13:51.120742 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.120749 | controller | and checks that' 2025-10-01 14:13:51.120757 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.120764 | controller | pattern' 2025-10-01 14:13:51.120772 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.120779 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.120787 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.120794 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.120801 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.120809 | controller | - ' exit 0' 2025-10-01 14:13:51.120816 | controller | - ' else' 2025-10-01 14:13:51.120823 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.120831 | controller | - ' exit 1' 2025-10-01 14:13:51.120838 | controller | - ' fi' 2025-10-01 14:13:51.120845 | controller | - ' ' 2025-10-01 14:13:51.120853 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.120860 | controller | them with a script' 2025-10-01 14:13:51.120867 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.120874 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.120882 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.120889 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.120896 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.120911 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.120918 | controller | - ' # it is an image' 2025-10-01 14:13:51.120925 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.120932 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.120940 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.120947 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.120954 | controller | - ' case $NAME in' 2025-10-01 14:13:51.120962 | controller | - ' API)' 2025-10-01 14:13:51.120969 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.120976 | controller | - ' ;;' 2025-10-01 14:13:51.120983 | controller | - ' esac' 2025-10-01 14:13:51.120990 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.120998 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.121005 | controller | - ' exit 1' 2025-10-01 14:13:51.121012 | controller | - ' fi' 2025-10-01 14:13:51.121019 | controller | - ' fi' 2025-10-01 14:13:51.121027 | controller | - ' done' 2025-10-01 14:13:51.121034 | controller | - ' ]' 2025-10-01 14:13:51.121041 | controller | - ' logger.go:42: 14:00:19 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.121048 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.121056 | controller | rely on' 2025-10-01 14:13:51.121063 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.121078 | controller | and checks that' 2025-10-01 14:13:51.121086 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.121093 | controller | pattern' 2025-10-01 14:13:51.121102 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.121110 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.121119 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.121127 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.121135 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.121142 | controller | - ' exit 0' 2025-10-01 14:13:51.121150 | controller | - ' else' 2025-10-01 14:13:51.121157 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.121164 | controller | - ' exit 1' 2025-10-01 14:13:51.121172 | controller | - ' fi' 2025-10-01 14:13:51.121179 | controller | - ' ' 2025-10-01 14:13:51.121186 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.121194 | controller | them with a script' 2025-10-01 14:13:51.121236 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.121246 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.121253 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.121260 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.121268 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.121282 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.121290 | controller | - ' # it is an image' 2025-10-01 14:13:51.121297 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.121305 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.121316 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.121325 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.121332 | controller | - ' case $NAME in' 2025-10-01 14:13:51.121340 | controller | - ' API)' 2025-10-01 14:13:51.121348 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.121355 | controller | - ' ;;' 2025-10-01 14:13:51.121363 | controller | - ' esac' 2025-10-01 14:13:51.121371 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.121382 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.121390 | controller | - ' exit 1' 2025-10-01 14:13:51.121421 | controller | - ' fi' 2025-10-01 14:13:51.121434 | controller | - ' fi' 2025-10-01 14:13:51.121442 | controller | - ' done' 2025-10-01 14:13:51.121450 | controller | - ' ]' 2025-10-01 14:13:51.121458 | controller | - ' logger.go:42: 14:00:20 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.121465 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.121473 | controller | rely on' 2025-10-01 14:13:51.121480 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.121488 | controller | and checks that' 2025-10-01 14:13:51.121495 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.121503 | controller | pattern' 2025-10-01 14:13:51.121510 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.121523 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.121530 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.121538 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.121545 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.121553 | controller | - ' exit 0' 2025-10-01 14:13:51.121560 | controller | - ' else' 2025-10-01 14:13:51.121568 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.121575 | controller | - ' exit 1' 2025-10-01 14:13:51.121583 | controller | - ' fi' 2025-10-01 14:13:51.121591 | controller | - ' ' 2025-10-01 14:13:51.121599 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.121607 | controller | them with a script' 2025-10-01 14:13:51.121614 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.121622 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.121630 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.121638 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.121646 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.121661 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.121669 | controller | - ' # it is an image' 2025-10-01 14:13:51.121677 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.121685 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.121693 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.121701 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.121708 | controller | - ' case $NAME in' 2025-10-01 14:13:51.121716 | controller | - ' API)' 2025-10-01 14:13:51.121723 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.121731 | controller | - ' ;;' 2025-10-01 14:13:51.121739 | controller | - ' esac' 2025-10-01 14:13:51.121752 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.121760 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.121768 | controller | - ' exit 1' 2025-10-01 14:13:51.121779 | controller | - ' fi' 2025-10-01 14:13:51.121787 | controller | - ' fi' 2025-10-01 14:13:51.121795 | controller | - ' done' 2025-10-01 14:13:51.121803 | controller | - ' ]' 2025-10-01 14:13:51.121810 | controller | - ' logger.go:42: 14:00:21 | keystone_appcred/0-deploy-keystone | running command: 2025-10-01 14:13:51.121818 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.121826 | controller | rely on' 2025-10-01 14:13:51.121834 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.121842 | controller | and checks that' 2025-10-01 14:13:51.121850 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.121858 | controller | pattern' 2025-10-01 14:13:51.121872 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.121881 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.121889 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.121896 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.121904 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.121917 | controller | - ' exit 0' 2025-10-01 14:13:51.121926 | controller | - ' else' 2025-10-01 14:13:51.121937 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.121945 | controller | - ' exit 1' 2025-10-01 14:13:51.121953 | controller | - ' fi' 2025-10-01 14:13:51.121962 | controller | - ' ' 2025-10-01 14:13:51.121970 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.121977 | controller | them with a script' 2025-10-01 14:13:51.121985 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.121993 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.122005 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.122013 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.122021 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.122036 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.122044 | controller | - ' # it is an image' 2025-10-01 14:13:51.122051 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.122059 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.122066 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.122074 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.122081 | controller | - ' case $NAME in' 2025-10-01 14:13:51.122089 | controller | - ' API)' 2025-10-01 14:13:51.122096 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.122103 | controller | - ' ;;' 2025-10-01 14:13:51.122111 | controller | - ' esac' 2025-10-01 14:13:51.122137 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.122145 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.122152 | controller | - ' exit 1' 2025-10-01 14:13:51.122160 | controller | - ' fi' 2025-10-01 14:13:51.122167 | controller | - ' fi' 2025-10-01 14:13:51.122174 | controller | - ' done' 2025-10-01 14:13:51.122181 | controller | - ' ]' 2025-10-01 14:13:51.122188 | controller | - ' logger.go:42: 14:00:21 | keystone_appcred/0-deploy-keystone | test step completed 2025-10-01 14:13:51.122195 | controller | 0-deploy-keystone' 2025-10-01 14:13:51.122202 | controller | - ' logger.go:42: 14:00:21 | keystone_appcred/1-deploy-appcred | starting test 2025-10-01 14:13:51.122209 | controller | step 1-deploy-appcred' 2025-10-01 14:13:51.122217 | controller | - ' logger.go:42: 14:00:21 | keystone_appcred/1-deploy-appcred | Secret:keystone-kuttl-tests/test-service-secret 2025-10-01 14:13:51.122224 | controller | created' 2025-10-01 14:13:51.122232 | controller | - ' case.go:396: failed in step 1-deploy-appcred' 2025-10-01 14:13:51.122239 | controller | - ' case.go:398: retrieving API resource for keystone.openstack.org/v1beta1, Kind=KeystoneApplicationCredential 2025-10-01 14:13:51.122247 | controller | failed: resource type not found' 2025-10-01 14:13:51.122259 | controller | - ' logger.go:42: 14:00:21 | keystone_appcred | skipping kubernetes event logging' 2025-10-01 14:13:51.122267 | controller | - === CONT kuttl/harness/fernet_rotation 2025-10-01 14:13:51.122275 | controller | - ' logger.go:42: 14:00:21 | fernet_rotation | Skipping creation of user-supplied 2025-10-01 14:13:51.122283 | controller | namespace: keystone-kuttl-tests' 2025-10-01 14:13:51.122290 | controller | - ' logger.go:42: 14:00:21 | fernet_rotation/0-deploy_keystone | starting test 2025-10-01 14:13:51.122298 | controller | step 0-deploy_keystone' 2025-10-01 14:13:51.122307 | controller | - ' logger.go:42: 14:00:21 | fernet_rotation/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone 2025-10-01 14:13:51.122314 | controller | updated' 2025-10-01 14:13:51.122326 | controller | - ' logger.go:42: 14:00:21 | fernet_rotation/0-deploy_keystone | running command: 2025-10-01 14:13:51.122333 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-10-01 14:13:51.122340 | controller | rely on' 2025-10-01 14:13:51.122347 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-10-01 14:13:51.122355 | controller | and checks that' 2025-10-01 14:13:51.122362 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-10-01 14:13:51.122369 | controller | pattern' 2025-10-01 14:13:51.122376 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-10-01 14:13:51.122383 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-10-01 14:13:51.122390 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-10-01 14:13:51.122423 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-10-01 14:13:51.122432 | controller | - ' if [ -z "$matches" ]; then' 2025-10-01 14:13:51.122439 | controller | - ' exit 0' 2025-10-01 14:13:51.122446 | controller | - ' else' 2025-10-01 14:13:51.122453 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-10-01 14:13:51.122461 | controller | - ' exit 1' 2025-10-01 14:13:51.122469 | controller | - ' fi' 2025-10-01 14:13:51.122482 | controller | - ' ' 2025-10-01 14:13:51.122490 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-10-01 14:13:51.122497 | controller | them with a script' 2025-10-01 14:13:51.122504 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ 2025-10-01 14:13:51.122512 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-10-01 14:13:51.122519 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-10-01 14:13:51.122527 | controller | -o go-template="$tupleTemplate")' 2025-10-01 14:13:51.122534 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-10-01 14:13:51.122549 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-10-01 14:13:51.122556 | controller | - ' # it is an image' 2025-10-01 14:13:51.122563 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-10-01 14:13:51.122570 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-10-01 14:13:51.122578 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-10-01 14:13:51.122585 | controller | - ' template=''{{.spec.containerImage}}''' 2025-10-01 14:13:51.122592 | controller | - ' case $NAME in' 2025-10-01 14:13:51.122600 | controller | - ' API)' 2025-10-01 14:13:51.122607 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-10-01 14:13:51.122614 | controller | - ' ;;' 2025-10-01 14:13:51.122622 | controller | - ' esac' 2025-10-01 14:13:51.122629 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-10-01 14:13:51.122637 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-10-01 14:13:51.122644 | controller | - ' exit 1' 2025-10-01 14:13:51.122651 | controller | - ' fi' 2025-10-01 14:13:51.122659 | controller | - ' fi' 2025-10-01 14:13:51.122666 | controller | - ' done' 2025-10-01 14:13:51.122673 | controller | - ' ]' 2025-10-01 14:13:51.122681 | controller | - ' logger.go:42: 14:00:21 | fernet_rotation/0-deploy_keystone | Error from server 2025-10-01 14:13:51.122688 | controller | (NotFound): keystoneapis.keystone.openstack.org "keystone" not found' 2025-10-01 14:13:51.122695 | controller | - ' logger.go:42: 14:00:21 | fernet_rotation/0-deploy_keystone | test step completed 2025-10-01 14:13:51.122703 | controller | 0-deploy_keystone' 2025-10-01 14:13:51.122714 | controller | - ' logger.go:42: 14:00:21 | fernet_rotation/1-deploy_openstackclient | starting 2025-10-01 14:13:51.122722 | controller | test step 1-deploy_openstackclient' 2025-10-01 14:13:51.122729 | controller | - ' logger.go:42: 14:00:21 | fernet_rotation/1-deploy_openstackclient | Pod:keystone-kuttl-tests/openstackclient 2025-10-01 14:13:51.122736 | controller | created' 2025-10-01 14:13:51.122744 | controller | - ' logger.go:42: 14:00:21 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.122751 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.122759 | controller | - ' logger.go:42: 14:00:21 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.122766 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.122774 | controller | - ' logger.go:42: 14:00:52 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.122781 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.122789 | controller | - ' logger.go:42: 14:00:53 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.122796 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.122803 | controller | - ' logger.go:42: 14:00:53 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.122811 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.122819 | controller | - ' logger.go:42: 14:01:23 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.122826 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.122834 | controller | - ' logger.go:42: 14:01:24 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.122841 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.122849 | controller | - ' logger.go:42: 14:01:24 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.122857 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.122864 | controller | - ' logger.go:42: 14:01:54 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.122871 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.122879 | controller | - ' logger.go:42: 14:01:55 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.122886 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.122899 | controller | - ' logger.go:42: 14:01:55 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.122907 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.122915 | controller | - ' logger.go:42: 14:02:25 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.122922 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.122930 | controller | - ' logger.go:42: 14:02:26 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.122937 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.122950 | controller | - ' logger.go:42: 14:02:26 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.122958 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.122965 | controller | - ' logger.go:42: 14:02:56 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.122973 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.122980 | controller | - ' logger.go:42: 14:02:57 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.122988 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.122996 | controller | - ' logger.go:42: 14:02:57 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.123003 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.123015 | controller | - ' logger.go:42: 14:03:27 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.123023 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.123030 | controller | - ' logger.go:42: 14:03:28 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.123037 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.123045 | controller | - ' logger.go:42: 14:03:28 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.123052 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.123060 | controller | - ' logger.go:42: 14:03:58 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.123067 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.123075 | controller | - ' logger.go:42: 14:03:59 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.123083 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.123090 | controller | - ' logger.go:42: 14:03:59 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.123098 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.123106 | controller | - ' logger.go:42: 14:04:29 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.123113 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.123120 | controller | - ' logger.go:42: 14:04:30 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.123128 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.123135 | controller | - ' logger.go:42: 14:04:30 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.123143 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.123150 | controller | - ' logger.go:42: 14:05:01 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.123158 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.123166 | controller | - ' logger.go:42: 14:05:02 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.123181 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.123188 | controller | - ' logger.go:42: 14:05:02 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.123196 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.123204 | controller | - ' logger.go:42: 14:05:32 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.123211 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.123219 | controller | - ' logger.go:42: 14:05:33 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.123226 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.123236 | controller | - ' logger.go:42: 14:05:33 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.123244 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.123251 | controller | - ' logger.go:42: 14:06:03 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.123258 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.123268 | controller | - ' logger.go:42: 14:06:04 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.123275 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.123282 | controller | - ' logger.go:42: 14:06:04 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.123289 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.123296 | controller | - ' logger.go:42: 14:06:34 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.123304 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.123315 | controller | - ' logger.go:42: 14:06:35 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.123322 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.123329 | controller | - ' logger.go:42: 14:06:35 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.123336 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.123343 | controller | - ' logger.go:42: 14:07:05 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.123355 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.123363 | controller | - ' logger.go:42: 14:07:06 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.123370 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.123377 | controller | - ' logger.go:42: 14:07:06 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.123384 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.123392 | controller | - ' logger.go:42: 14:07:36 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.123415 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.123427 | controller | - ' logger.go:42: 14:07:37 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.123435 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.123442 | controller | - ' logger.go:42: 14:07:37 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.123450 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.123457 | controller | - ' logger.go:42: 14:08:07 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.123465 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.123472 | controller | - ' logger.go:42: 14:08:08 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.123481 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.123488 | controller | - ' logger.go:42: 14:08:09 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.123496 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.123503 | controller | - ' logger.go:42: 14:08:39 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.123510 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.123518 | controller | - ' logger.go:42: 14:08:40 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.123525 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.123533 | controller | - ' logger.go:42: 14:08:40 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.123540 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.123547 | controller | - ' logger.go:42: 14:09:10 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.123555 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.123562 | controller | - ' logger.go:42: 14:09:11 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.123570 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.123577 | controller | - ' logger.go:42: 14:09:11 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.123584 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.123592 | controller | - ' logger.go:42: 14:09:41 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.123599 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.123607 | controller | - ' logger.go:42: 14:09:42 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.123619 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.123626 | controller | - ' logger.go:42: 14:09:42 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.123634 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.123645 | controller | - ' logger.go:42: 14:10:12 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.123653 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.123660 | controller | - ' logger.go:42: 14:10:13 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.123668 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.123675 | controller | - ' logger.go:42: 14:10:13 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.123682 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.123690 | controller | - ' logger.go:42: 14:10:43 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.123697 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.123704 | controller | - ' logger.go:42: 14:10:44 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.123711 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.123719 | controller | - ' logger.go:42: 14:10:44 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.123726 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.123733 | controller | - ' logger.go:42: 14:11:14 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.123740 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.123747 | controller | - ' logger.go:42: 14:11:15 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.123755 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.123767 | controller | - ' logger.go:42: 14:11:15 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.165816 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.165886 | controller | - ' logger.go:42: 14:11:46 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.165894 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.165903 | controller | - ' logger.go:42: 14:11:47 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.165910 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.165918 | controller | - ' logger.go:42: 14:11:47 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.165925 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.165932 | controller | - ' logger.go:42: 14:12:17 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.165939 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.165946 | controller | - ' logger.go:42: 14:12:18 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.165953 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.165961 | controller | - ' logger.go:42: 14:12:18 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.165968 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.165975 | controller | - ' logger.go:42: 14:12:48 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.165982 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.165989 | controller | - ' logger.go:42: 14:12:49 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.165996 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.166003 | controller | - ' logger.go:42: 14:12:49 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.166022 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.166029 | controller | - ' logger.go:42: 14:13:19 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.166036 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.166044 | controller | - ' logger.go:42: 14:13:20 | fernet_rotation/1-deploy_openstackclient | running 2025-10-01 14:13:51.166051 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-10-01 14:13:51.166058 | controller | - ' logger.go:42: 14:13:20 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-10-01 14:13:51.166065 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-10-01 14:13:51.166072 | controller | - ' logger.go:42: 14:13:50 | fernet_rotation/1-deploy_openstackclient | error: 2025-10-01 14:13:51.166080 | controller | timed out waiting for the condition on pods/openstackclient' 2025-10-01 14:13:51.166091 | controller | - ' logger.go:42: 14:13:50 | fernet_rotation/1-deploy_openstackclient | test step 2025-10-01 14:13:51.166102 | controller | failed 1-deploy_openstackclient' 2025-10-01 14:13:51.166114 | controller | - ' case.go:396: failed in step 1-deploy_openstackclient' 2025-10-01 14:13:51.166127 | controller | - ' case.go:398: command "../../common/scripts/create_test_token.sh" exceeded 21 2025-10-01 14:13:51.166138 | controller | sec timeout, context deadline exceeded' 2025-10-01 14:13:51.166160 | controller | - ' logger.go:42: 14:13:50 | fernet_rotation | skipping kubernetes event logging' 2025-10-01 14:13:51.166171 | controller | - === NAME kuttl 2025-10-01 14:13:51.166182 | controller | - ' harness.go:406: run tests finished' 2025-10-01 14:13:51.166193 | controller | - ' harness.go:514: cleaning up' 2025-10-01 14:13:51.166204 | controller | - ' harness.go:571: removing temp folder: ""' 2025-10-01 14:13:51.166215 | controller | - '--- FAIL: kuttl (1260.40s)' 2025-10-01 14:13:51.166226 | controller | - ' --- FAIL: kuttl/harness (0.00s)' 2025-10-01 14:13:51.166236 | controller | - ' --- PASS: kuttl/harness/change_keystone_config (84.77s)' 2025-10-01 14:13:51.166251 | controller | - ' --- PASS: kuttl/harness/keystone_resources (96.83s)' 2025-10-01 14:13:51.166262 | controller | - ' --- PASS: kuttl/harness/keystone_tls (64.70s)' 2025-10-01 14:13:51.166273 | controller | - ' --- PASS: kuttl/harness/keystone_scale (126.00s)' 2025-10-01 14:13:51.166284 | controller | - ' --- FAIL: kuttl/harness/keystone_appcred (79.07s)' 2025-10-01 14:13:51.166295 | controller | - ' --- FAIL: kuttl/harness/fernet_rotation (809.01s)' 2025-10-01 14:13:51.166306 | controller | - FAIL 2025-10-01 14:13:51.166317 | controller | - 'make[1]: *** [Makefile:1800: keystone_kuttl_run] Error 1' 2025-10-01 14:13:51.166328 | controller | - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-10-01 14:13:51.166339 | controller | - 'make: *** [Makefile:1809: keystone_kuttl] Error 2' 2025-10-01 14:13:51.166363 | controller | ...ignoring 2025-10-01 14:13:51.192951 | controller | 2025-10-01 14:13:51.193004 | controller | TASK [Get resource status after keystone_kuttl run _raw_params={{ item }} >> {{ cifmw_artifacts_basedir }}/logs/cmd_after_{{ operator }}_kuttl.log 2025-10-01 14:13:51.193013 | controller | ] *** 2025-10-01 14:13:51.193019 | controller | Wednesday 01 October 2025 14:13:51 +0000 (0:24:56.437) 0:27:27.561 ***** 2025-10-01 14:13:51.193033 | controller | task path: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/run-kuttl-tests.yml:58 2025-10-01 14:13:51.396884 | controller | fatal: [localhost]: FAILED! => 2025-10-01 14:13:51.396940 | controller | msg: '''commands_after_kuttl_run'' is undefined. ''commands_after_kuttl_run'' is undefined' 2025-10-01 14:13:51.396948 | controller | ...ignoring 2025-10-01 14:13:51.396955 | controller | 2025-10-01 14:13:51.396961 | controller | TASK [Find the generated JUnitXML files paths={{ cifmw_installyamls_repos }}, file_type=file, patterns=*.xml] *** 2025-10-01 14:13:51.396968 | controller | Wednesday 01 October 2025 14:13:51 +0000 (0:00:00.026) 0:27:27.588 ***** 2025-10-01 14:13:51.396981 | controller | ok: [localhost] 2025-10-01 14:13:51.591054 | controller | 2025-10-01 14:13:51.591120 | controller | TASK [Create the test results directory path={{ _kuttl_test_result_dir }}, state=directory, mode=0755] *** 2025-10-01 14:13:51.591131 | controller | Wednesday 01 October 2025 14:13:51 +0000 (0:00:00.204) 0:27:27.792 ***** 2025-10-01 14:13:51.591147 | controller | changed: [localhost] 2025-10-01 14:13:52.148552 | controller | 2025-10-01 14:13:52.148592 | controller | TASK [Copy the generated test results to the test results directory src={{ item.path }}, dest={{ _kuttl_test_result_dir }}, mode=0644] *** 2025-10-01 14:13:52.148600 | controller | Wednesday 01 October 2025 14:13:51 +0000 (0:00:00.194) 0:27:27.986 ***** 2025-10-01 14:13:52.148614 | 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': 1552, 'inode': 29507263, 'dev': 64513, 'nlink': 1, 'atime': 1759328030.6687882, 'mtime': 1759328030.6697884, 'ctime': 1759328030.6697884, 'gr_name': 'zuul', 'pw_name': 'zuul', 'wusr': True, 'rusr': True, 'xusr': False, 'wgrp': False, 'rgrp': True, 'xgrp': False, 'woth': False, 'roth': True, 'xoth': False, 'isuid': False, 'isgid': False}) 2025-10-01 14:13:52.190565 | controller | 2025-10-01 14:13:52.190624 | 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-10-01 14:13:52.190632 | controller | Wednesday 01 October 2025 14:13:52 +0000 (0:00:00.557) 0:27:28.544 ***** 2025-10-01 14:13:52.190646 | controller | task path: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/run-kuttl-tests.yml:96 2025-10-01 14:13:52.297413 | controller | fatal: [localhost]: FAILED! => 2025-10-01 14:13:52.297483 | controller | assertion: _kuttl_curr_operator_result.rc == 0 2025-10-01 14:13:52.297492 | controller | changed: false 2025-10-01 14:13:52.297498 | controller | evaluated_to: false 2025-10-01 14:13:52.297504 | controller | msg: KUTTL tests for keystone failed 2025-10-01 14:13:52.297511 | controller | 2025-10-01 14:13:52.297517 | controller | NO MORE HOSTS LEFT ************************************************************* 2025-10-01 14:13:52.297524 | controller | 2025-10-01 14:13:52.297530 | controller | PLAY RECAP ********************************************************************* 2025-10-01 14:13:52.297536 | controller | localhost : ok=110 changed=50 unreachable=0 failed=1 skipped=58 rescued=0 ignored=5 2025-10-01 14:13:52.297542 | controller | 2025-10-01 14:13:52.297548 | controller | Wednesday 01 October 2025 14:13:52 +0000 (0:00:00.041) 0:27:28.585 ***** 2025-10-01 14:13:52.297554 | controller | =============================================================================== 2025-10-01 14:13:52.297559 | controller | install_yamls_makes : Run keystone_kuttl ----------------------------- 1496.44s 2025-10-01 14:13:52.297565 | controller | install_yamls_makes : Run download_tools ------------------------------- 36.65s 2025-10-01 14:13:52.297571 | controller | ci_setup : Install needed packages ------------------------------------- 31.15s 2025-10-01 14:13:52.297577 | controller | ci_local_storage : Remove the cifmw_cls_namespace namespace ------------ 10.87s 2025-10-01 14:13:52.297583 | controller | repo_setup : Initialize python venv and install requirements ----------- 10.06s 2025-10-01 14:13:52.297589 | controller | ci_local_storage : Perform action in the PV directory ------------------- 6.39s 2025-10-01 14:13:52.297594 | controller | ci_local_storage : Perform action in the PV directory ------------------- 5.99s 2025-10-01 14:13:52.297600 | controller | ci_setup : Install openshift client ------------------------------------- 5.25s 2025-10-01 14:13:52.297606 | controller | install_yamls_makes : Run crc_attach_default_interface ------------------ 5.22s 2025-10-01 14:13:52.297612 | controller | openshift_setup : Create required namespaces ---------------------------- 1.87s 2025-10-01 14:13:52.297617 | controller | install_ca : Update ca bundle ------------------------------------------- 1.67s 2025-10-01 14:13:52.297623 | controller | ci_local_storage : Fetch hostnames for all hosts ------------------------ 1.65s 2025-10-01 14:13:52.297629 | controller | repo_setup : Get repo-setup repository ---------------------------------- 1.53s 2025-10-01 14:13:52.297643 | controller | repo_setup : Make sure git-core package is installed -------------------- 1.26s 2025-10-01 14:13:52.297649 | controller | ci_setup : Manage directories ------------------------------------------- 1.11s 2025-10-01 14:13:52.297655 | controller | Gathering Facts --------------------------------------------------------- 1.07s 2025-10-01 14:13:52.297661 | controller | openshift_setup : Gather network.operator info -------------------------- 1.07s 2025-10-01 14:13:52.297667 | controller | ci_local_storage : Fetch hostnames for all hosts ------------------------ 1.05s 2025-10-01 14:13:52.297673 | controller | ci_local_storage : Apply pv related storage manifest file --------------- 1.02s 2025-10-01 14:13:52.297679 | controller | openshift_setup : Patch network operator -------------------------------- 1.02s 2025-10-01 14:13:52.617796 | controller | ERROR 2025-10-01 14:13:52.617932 | controller | { 2025-10-01 14:13:52.617969 | controller | "delta": "0:27:29.590711", 2025-10-01 14:13:52.617995 | controller | "end": "2025-10-01 14:13:52.300891", 2025-10-01 14:13:52.618022 | controller | "msg": "non-zero return code", 2025-10-01 14:13:52.618046 | controller | "rc": 2, 2025-10-01 14:13:52.618068 | controller | "start": "2025-10-01 13:46:22.710180" 2025-10-01 14:13:52.618091 | controller | } failure 2025-10-01 14:13:52.781189 | 2025-10-01 14:13:52.781301 | PLAY RECAP 2025-10-01 14:13:52.781359 | controller | ok: 0 changed: 0 unreachable: 0 failed: 1 skipped: 0 rescued: 0 ignored: 0 2025-10-01 14:13:52.781390 | 2025-10-01 14:13:52.915368 | RUN END RESULT_NORMAL: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/run.yml@main] 2025-10-01 14:13:52.920665 | POST-RUN START: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/e2e-collect-logs.yml@main] 2025-10-01 14:13:53.588522 | 2025-10-01 14:13:53.588634 | PLAY [Run ci/playbooks/e2e-collect-logs.yml] 2025-10-01 14:13:53.633002 | 2025-10-01 14:13:53.633110 | TASK [Filter out host if needed] 2025-10-01 14:13:53.644365 | controller | skipping: end_host conditional evaluated to False, continuing execution for controller 2025-10-01 14:13:53.650745 | 2025-10-01 14:13:53.650810 | TASK [Filter out host if needed] 2025-10-01 14:13:53.666644 | 2025-10-01 14:13:53.666749 | TASK [Ensure we have the ci-framework on host] 2025-10-01 14:13:54.170326 | controller | ok 2025-10-01 14:13:54.184581 | 2025-10-01 14:13:54.184837 | TASK [End host if no basedir] 2025-10-01 14:13:54.196925 | controller | skipping: end_host conditional evaluated to False, continuing execution for controller 2025-10-01 14:13:54.206113 | 2025-10-01 14:13:54.206254 | TASK [Read base centos-9 scenarios] 2025-10-01 14:13:54.242490 | controller | ok 2025-10-01 14:13:54.327954 | 2025-10-01 14:13:54.328109 | TASK [cifmw_helpers : Check if file is available] 2025-10-01 14:13:54.581832 | controller | ok 2025-10-01 14:13:54.595780 | 2025-10-01 14:13:54.595951 | TASK [cifmw_helpers : Read vars] 2025-10-01 14:13:54.639568 | 2025-10-01 14:13:54.639898 | LOOP [cifmw_helpers : Set vars as fact] 2025-10-01 14:13:54.697307 | 2025-10-01 14:13:54.697598 | TASK [cifmw_setup : Ensure cifmw_basedir param is set] 2025-10-01 14:13:54.783742 | controller | ok 2025-10-01 14:13:54.791424 | 2025-10-01 14:13:54.791503 | TASK [Read artifacts parameters dir and set as facts] 2025-10-01 14:13:54.822367 | controller | ok 2025-10-01 14:13:54.840639 | 2025-10-01 14:13:54.840710 | TASK [cifmw_helpers : Check directory is available] 2025-10-01 14:13:55.081627 | controller | ok 2025-10-01 14:13:55.096623 | 2025-10-01 14:13:55.096788 | TASK [cifmw_helpers : List available files] 2025-10-01 14:13:55.509735 | controller | custom-params.yml 2025-10-01 14:13:55.509776 | controller | install-yamls-params.yml 2025-10-01 14:13:55.509785 | controller | openshift-login-params.yml 2025-10-01 14:13:55.509793 | controller | zuul-params.yml 2025-10-01 14:13:55.682501 | controller | changed 2025-10-01 14:13:55.698996 | 2025-10-01 14:13:55.699202 | LOOP [cifmw_helpers : Read vars] 2025-10-01 14:13:56.743172 | controller | Output suppressed because no_log was given 2025-10-01 14:13:56.758681 | 2025-10-01 14:13:56.758853 | LOOP [cifmw_helpers : Call task to parse all files as fact] 2025-10-01 14:13:56.806402 | controller | Output suppressed because no_log was given 2025-10-01 14:13:56.806818 | 2025-10-01 14:13:56.816881 | controller | Output suppressed because no_log was given 2025-10-01 14:13:56.824398 | controller | Output suppressed because no_log was given 2025-10-01 14:13:56.832940 | controller | Output suppressed because no_log was given 2025-10-01 14:13:56.865678 | controller | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/roles/cifmw_helpers/tasks/set_dir_facts.yml 2025-10-01 14:13:56.869196 | controller | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/roles/cifmw_helpers/tasks/set_dir_facts.yml 2025-10-01 14:13:56.871405 | controller | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/roles/cifmw_helpers/tasks/set_dir_facts.yml 2025-10-01 14:13:56.873784 | controller | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/roles/cifmw_helpers/tasks/set_dir_facts.yml 2025-10-01 14:13:56.895035 | 2025-10-01 14:13:56.895147 | LOOP [cifmw_helpers : Set files as fact] 2025-10-01 14:13:56.943875 | controller | Output suppressed because no_log was given 2025-10-01 14:13:56.953970 | controller | Output suppressed because no_log was given 2025-10-01 14:13:56.961165 | controller | Output suppressed because no_log was given 2025-10-01 14:13:56.961632 | controller | Output suppressed because no_log was given 2025-10-01 14:13:56.971375 | controller | Output suppressed because no_log was given 2025-10-01 14:13:56.971878 | controller | Output suppressed because no_log was given 2025-10-01 14:13:56.981234 | controller | Output suppressed because no_log was given 2025-10-01 14:13:56.981682 | controller | Output suppressed because no_log was given 2025-10-01 14:13:56.991428 | controller | Output suppressed because no_log was given 2025-10-01 14:13:56.991916 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.001143 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.001578 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.008229 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.013444 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.013924 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.014348 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.021596 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.022037 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.027715 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.033217 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.033952 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.034606 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.046672 | 2025-10-01 14:13:57.046859 | LOOP [cifmw_helpers : Set files as fact] 2025-10-01 14:13:57.095093 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.095535 | 2025-10-01 14:13:57.096252 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.130307 | 2025-10-01 14:13:57.130496 | LOOP [cifmw_helpers : Set files as fact] 2025-10-01 14:13:57.158969 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.159568 | 2025-10-01 14:13:57.165324 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.166022 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.166665 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.167327 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.188578 | 2025-10-01 14:13:57.188762 | LOOP [cifmw_helpers : Set files as fact] 2025-10-01 14:13:57.224299 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.225044 | 2025-10-01 14:13:57.230851 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.237093 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.243586 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.250683 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.257153 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.263542 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.270319 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.271284 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.272255 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.280390 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.281092 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.281877 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.282592 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.283247 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.284379 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.285154 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.285902 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.296171 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.296596 | controller | Output suppressed because no_log was given 2025-10-01 14:13:57.351120 | 2025-10-01 14:13:57.351374 | TASK [cifmw_setup : Set custom cifmw PATH reusable fact] 2025-10-01 14:13:57.387506 | controller | ok 2025-10-01 14:13:57.395790 | 2025-10-01 14:13:57.395874 | TASK [cifmw_setup : Set destination folder for the logs] 2025-10-01 14:13:57.430175 | controller | ok 2025-10-01 14:13:57.438268 | 2025-10-01 14:13:57.438350 | TASK [artifacts : Verify if "success" flag exists after successful tests execution] 2025-10-01 14:13:57.690416 | controller | ok 2025-10-01 14:13:57.705186 | 2025-10-01 14:13:57.705277 | TASK [artifacts : Ensure we have at least minimal ansible facts] 2025-10-01 14:13:58.475335 | controller | ok 2025-10-01 14:13:58.492799 | 2025-10-01 14:13:58.492955 | LOOP [artifacts : Ensure base directory exists] 2025-10-01 14:13:58.911630 | controller | ok: "artifacts" 2025-10-01 14:13:58.911896 | 2025-10-01 14:13:59.157890 | controller | ok: "logs" 2025-10-01 14:13:59.198564 | 2025-10-01 14:13:59.198792 | TASK [artifacts : Load generated hook environment for further usage] 2025-10-01 14:13:59.254651 | controller | ERROR 2025-10-01 14:13:59.255036 | controller | { 2025-10-01 14:13:59.255104 | controller | "ansible_facts": {}, 2025-10-01 14:13:59.255148 | controller | "ansible_included_var_files": [], 2025-10-01 14:13:59.255186 | controller | "message": "/home/zuul/ci-framework-data/artifacts directory does not exist" 2025-10-01 14:13:59.255228 | controller | } 2025-10-01 14:13:59.255279 | controller | ERROR: Ignoring Errors 2025-10-01 14:13:59.312045 | 2025-10-01 14:13:59.312164 | TASK [artifacts : Gather parameter passed to the playbook] 2025-10-01 14:14:00.404125 | controller | changed 2025-10-01 14:14:00.419910 | 2025-10-01 14:14:00.420058 | TASK [artifacts : Gather facts] 2025-10-01 14:14:01.254925 | controller | changed 2025-10-01 14:14:01.270248 | 2025-10-01 14:14:01.270385 | TASK [artifacts : Copy some network configuration files] 2025-10-01 14:14:01.863060 | controller | changed 2025-10-01 14:14:01.879404 | 2025-10-01 14:14:01.879590 | TASK [artifacts : Get installed packages list] 2025-10-01 14:14:02.846464 | controller | ok 2025-10-01 14:14:02.930624 | 2025-10-01 14:14:02.930876 | TASK [artifacts : Output package list] 2025-10-01 14:14:03.817911 | controller | changed 2025-10-01 14:14:03.844177 | 2025-10-01 14:14:03.844287 | LOOP [artifacts : Cleanup unnecesary directories] 2025-10-01 14:14:04.421165 | controller | changed: "/home/zuul/ci-framework-data/artifacts/manifests/operator" 2025-10-01 14:14:04.473244 | 2025-10-01 14:14:04.473380 | TASK [os_must_gather : Ensure directories are present] 2025-10-01 14:14:04.765541 | controller | changed 2025-10-01 14:14:04.792648 | 2025-10-01 14:14:04.792830 | LOOP [os_must_gather : Construct project change list] 2025-10-01 14:14:04.907247 | controller | ok: 2025-10-01 14:14:04.907541 | controller | { 2025-10-01 14:14:04.907612 | controller | "branch": "main", 2025-10-01 14:14:04.907663 | controller | "change": "567", 2025-10-01 14:14:04.907713 | 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-10-01 14:14:04.907923 | controller | "change_url": "https://github.com/openstack-k8s-operators/keystone-operator/pull/567", 2025-10-01 14:14:04.908018 | controller | "commit_id": "0bf30aa672c65d76ab942979d5cc7e063a129ffc", 2025-10-01 14:14:04.908074 | controller | "patchset": "0bf30aa672c65d76ab942979d5cc7e063a129ffc", 2025-10-01 14:14:04.908126 | controller | "project": { 2025-10-01 14:14:04.908178 | controller | "canonical_hostname": "github.com", 2025-10-01 14:14:04.908224 | controller | "canonical_name": "github.com/openstack-k8s-operators/keystone-operator", 2025-10-01 14:14:04.908262 | controller | "name": "openstack-k8s-operators/keystone-operator", 2025-10-01 14:14:04.908298 | controller | "short_name": "keystone-operator", 2025-10-01 14:14:04.908334 | controller | "src_dir": "src/github.com/openstack-k8s-operators/keystone-operator" 2025-10-01 14:14:04.908370 | controller | }, 2025-10-01 14:14:04.908409 | controller | "topic": null 2025-10-01 14:14:04.908446 | controller | } 2025-10-01 14:14:04.908509 | controller | changed: All items complete 2025-10-01 14:14:04.908554 | 2025-10-01 14:14:04.977221 | 2025-10-01 14:14:04.977390 | TASK [os_must_gather : Get git tag for image tagging] 2025-10-01 14:14:05.651649 | controller | skipping: Conditional result was False 2025-10-01 14:14:05.686963 | 2025-10-01 14:14:05.687122 | TASK [os_must_gather : Debug git show-ref] 2025-10-01 14:14:05.723946 | controller | skipping: Conditional result was False 2025-10-01 14:14:05.769629 | 2025-10-01 14:14:05.769897 | TASK [os_must_gather : Build openstack-must-gather container] 2025-10-01 14:14:05.795929 | controller | skipping: Conditional result was False 2025-10-01 14:14:05.824066 | 2025-10-01 14:14:05.824196 | TASK [os_must_gather : Push openstack-must-gather container] 2025-10-01 14:14:05.860023 | controller | skipping: Conditional result was False 2025-10-01 14:14:05.890562 | 2025-10-01 14:14:05.890719 | TASK [os_must_gather : Set cifmw_os_must_gather_image to new image tag] 2025-10-01 14:14:05.926955 | controller | skipping: Conditional result was False 2025-10-01 14:14:05.956558 | 2025-10-01 14:14:05.956718 | TASK [os_must_gather : Check for oc command] 2025-10-01 14:14:06.463358 | controller | changed 2025-10-01 14:14:06.487461 | 2025-10-01 14:14:06.487605 | TASK [os_must_gather : Run openstack-must-gather command] 2025-10-01 14:16:51.805456 | controller | changed 2025-10-01 14:16:51.857996 | 2025-10-01 14:16:51.858118 | TASK [artifacts : Create crc logs directory] 2025-10-01 14:16:52.174160 | controller | changed 2025-10-01 14:16:52.202255 | 2025-10-01 14:16:52.202426 | TASK [artifacts : Ensure controller knows CRC ssh keys] 2025-10-01 14:16:52.870979 | controller | changed 2025-10-01 14:16:52.896889 | 2025-10-01 14:16:52.897026 | TASK [artifacts : Recognize new keypair] 2025-10-01 14:16:53.174609 | controller | ok 2025-10-01 14:16:53.194409 | 2025-10-01 14:16:53.194535 | TASK [artifacts : Set fact if new keypair exists] 2025-10-01 14:16:53.239226 | controller | skipping: Conditional result was False 2025-10-01 14:16:53.266578 | 2025-10-01 14:16:53.266693 | TASK [artifacts : Prepare root ssh accesses] 2025-10-01 14:16:56.377161 | controller | changed 2025-10-01 14:16:56.410190 | 2025-10-01 14:16:56.410341 | TASK [artifacts : Copy logs from CRC VM] 2025-10-01 14:16:58.538209 | controller | changed 2025-10-01 14:16:58.601855 | 2025-10-01 14:16:58.601977 | TASK [artifacts : List all of the existing virtual machines] 2025-10-01 14:16:58.637870 | controller | skipping: Conditional result was False 2025-10-01 14:16:58.664881 | 2025-10-01 14:16:58.664981 | TASK [artifacts : Filter out edpm vm] 2025-10-01 14:16:58.700421 | controller | skipping: Conditional result was False 2025-10-01 14:16:58.728548 | 2025-10-01 14:16:58.728645 | TASK [artifacts : Slurp zuul inventory file] 2025-10-01 14:16:59.065366 | controller | ok 2025-10-01 14:16:59.113072 | 2025-10-01 14:16:59.113274 | LOOP [artifacts : Extract Compute and Networker from zuul mapping if any] 2025-10-01 14:16:59.230927 | 2025-10-01 14:16:59.231150 | LOOP [artifacts : Generate logs on edpm vm {{ item.split('/')[0] }}] 2025-10-01 14:16:59.320291 | 2025-10-01 14:16:59.320519 | LOOP [artifacts : Copy logs to host machine from {{ item.split('/')[0] }}] 2025-10-01 14:16:59.404488 | 2025-10-01 14:16:59.404770 | TASK [artifacts : Generate list of ansible logs to collect in home directory] 2025-10-01 14:16:59.903194 | controller | ok: All paths examined 2025-10-01 14:16:59.940848 | 2025-10-01 14:16:59.941037 | LOOP [artifacts : Copy ansible logs to logs directory] 2025-10-01 14:17:00.411286 | controller | changed: 2025-10-01 14:17:00.411671 | controller | { 2025-10-01 14:17:00.411782 | controller | "atime": 1759326317.471373, 2025-10-01 14:17:00.411848 | controller | "ctime": 1759328032.1888297, 2025-10-01 14:17:00.411890 | controller | "dev": 64513, 2025-10-01 14:17:00.411928 | controller | "gid": 1000, 2025-10-01 14:17:00.411963 | controller | "gr_name": "zuul", 2025-10-01 14:17:00.411999 | controller | "inode": 4383363, 2025-10-01 14:17:00.412034 | controller | "isblk": false, 2025-10-01 14:17:00.412070 | controller | "ischr": false, 2025-10-01 14:17:00.412104 | controller | "isdir": false, 2025-10-01 14:17:00.412145 | controller | "isfifo": false, 2025-10-01 14:17:00.412196 | controller | "isgid": false, 2025-10-01 14:17:00.412249 | controller | "islnk": false, 2025-10-01 14:17:00.412297 | controller | "isreg": true, 2025-10-01 14:17:00.412345 | controller | "issock": false, 2025-10-01 14:17:00.412383 | controller | "isuid": false, 2025-10-01 14:17:00.412418 | controller | "mode": "0644", 2025-10-01 14:17:00.412454 | controller | "mtime": 1759328032.1888297, 2025-10-01 14:17:00.412490 | controller | "nlink": 1, 2025-10-01 14:17:00.412526 | controller | "path": "/home/zuul/ansible.log", 2025-10-01 14:17:00.412562 | controller | "pw_name": "zuul", 2025-10-01 14:17:00.412606 | controller | "rgrp": true, 2025-10-01 14:17:00.412646 | controller | "roth": true, 2025-10-01 14:17:00.412683 | controller | "rusr": true, 2025-10-01 14:17:00.412718 | controller | "size": 1739585, 2025-10-01 14:17:00.412798 | controller | "uid": 1000, 2025-10-01 14:17:00.412835 | controller | "wgrp": false, 2025-10-01 14:17:00.412871 | controller | "woth": false, 2025-10-01 14:17:00.412906 | controller | "wusr": true, 2025-10-01 14:17:00.412941 | controller | "xgrp": false, 2025-10-01 14:17:00.412976 | controller | "xoth": false, 2025-10-01 14:17:00.413010 | controller | "xusr": false 2025-10-01 14:17:00.413046 | controller | } 2025-10-01 14:17:00.413099 | 2025-10-01 14:17:00.447214 | 2025-10-01 14:17:00.447357 | TASK [artifacts : Ensure we have proper rights on the gathered content] 2025-10-01 14:17:02.666215 | controller | changed 2025-10-01 14:17:02.698968 | 2025-10-01 14:17:02.699152 | LOOP [artifacts : Mask secrets in yaml log files] 2025-10-01 14:17:03.273330 | controller | ok: "/home/zuul/ci-framework-data/logs" 2025-10-01 14:17:03.606768 | controller | changed: "/home/zuul/ci-framework-data/artifacts" 2025-10-01 14:17:03.690952 | 2025-10-01 14:17:03.691166 | LOOP [env_op_images : Ensure directory is present] 2025-10-01 14:17:03.998042 | controller | ok: "artifacts" 2025-10-01 14:17:03.998518 | controller | changed: All items complete 2025-10-01 14:17:03.998587 | 2025-10-01 14:17:04.235796 | controller | ok: "logs" 2025-10-01 14:17:04.284072 | 2025-10-01 14:17:04.284264 | TASK [env_op_images : Check if OpenStackControlPlane is setup] 2025-10-01 14:17:04.935176 | controller | error: the server doesn't have a resource type "OpenStackControlPlane" 2025-10-01 14:17:05.021132 | controller | changed: non-zero return code 2025-10-01 14:17:05.049421 | 2025-10-01 14:17:05.049625 | TASK [env_op_images : Get images from the CSV] 2025-10-01 14:17:05.728223 | controller | skipping: Conditional result was False 2025-10-01 14:17:05.781834 | 2025-10-01 14:17:05.782057 | TASK [env_op_images : Get the images name] 2025-10-01 14:17:06.429598 | controller | skipping: Conditional result was False 2025-10-01 14:17:06.476972 | 2025-10-01 14:17:06.477440 | TASK [env_op_images : Extract env variable name and images] 2025-10-01 14:17:06.504162 | controller | skipping: Conditional result was False 2025-10-01 14:17:06.535145 | 2025-10-01 14:17:06.535294 | TASK [env_op_images : Get all pods from all namespaces to find openstack-operator-index] 2025-10-01 14:17:06.564714 | controller | skipping: Conditional result was False 2025-10-01 14:17:06.593737 | 2025-10-01 14:17:06.593897 | TASK [env_op_images : Retrieve openstack-operator-index pod] 2025-10-01 14:17:06.625844 | controller | skipping: Conditional result was False 2025-10-01 14:17:06.659340 | 2025-10-01 14:17:06.659496 | TASK [env_op_images : Get all the pods in openstack-operator namespace] 2025-10-01 14:17:06.685124 | controller | skipping: Conditional result was False 2025-10-01 14:17:06.714958 | 2025-10-01 14:17:06.715094 | TASK [env_op_images : Get operator images and pods] 2025-10-01 14:17:06.740502 | controller | skipping: Conditional result was False 2025-10-01 14:17:06.770928 | 2025-10-01 14:17:06.771068 | LOOP [env_op_images : Add operator images to the dictionary] 2025-10-01 14:17:06.817071 | 2025-10-01 14:17:06.817252 | TASK [env_op_images : Write images to file] 2025-10-01 14:17:06.841622 | controller | skipping: Conditional result was False 2025-10-01 14:17:06.931118 | 2025-10-01 14:17:06.931240 | TASK [cifmw_setup : Create a versioned log folder] 2025-10-01 14:17:07.192549 | controller | changed 2025-10-01 14:17:07.218451 | 2025-10-01 14:17:07.218603 | TASK [cifmw_setup : Return a list of log files in home directory] 2025-10-01 14:17:07.490993 | controller | ok: All paths examined 2025-10-01 14:17:07.516962 | 2025-10-01 14:17:07.517111 | TASK [cifmw_setup : Ensure ansible facts cache exists] 2025-10-01 14:17:07.818032 | controller | ok 2025-10-01 14:17:07.842646 | 2025-10-01 14:17:07.842892 | LOOP [cifmw_setup : Copy logs to proper location] 2025-10-01 14:17:08.307164 | controller | changed: 2025-10-01 14:17:08.307455 | controller | { 2025-10-01 14:17:08.307514 | controller | "atime": 1759328220.2789366, 2025-10-01 14:17:08.307555 | controller | "ctime": 1759328032.1888297, 2025-10-01 14:17:08.307591 | controller | "dev": 64513, 2025-10-01 14:17:08.307794 | controller | "gid": 1000, 2025-10-01 14:17:08.307852 | controller | "gr_name": "zuul", 2025-10-01 14:17:08.307888 | controller | "inode": 4383363, 2025-10-01 14:17:08.307922 | controller | "isblk": false, 2025-10-01 14:17:08.307957 | controller | "ischr": false, 2025-10-01 14:17:08.308005 | controller | "isdir": false, 2025-10-01 14:17:08.308056 | controller | "isfifo": false, 2025-10-01 14:17:08.308118 | controller | "isgid": false, 2025-10-01 14:17:08.308155 | controller | "islnk": false, 2025-10-01 14:17:08.308192 | controller | "isreg": true, 2025-10-01 14:17:08.308227 | controller | "issock": false, 2025-10-01 14:17:08.308265 | controller | "isuid": false, 2025-10-01 14:17:08.308300 | controller | "mode": "0644", 2025-10-01 14:17:08.308335 | controller | "mtime": 1759328032.1888297, 2025-10-01 14:17:08.308371 | controller | "nlink": 1, 2025-10-01 14:17:08.308406 | controller | "path": "/home/zuul/ansible.log", 2025-10-01 14:17:08.308442 | controller | "pw_name": "zuul", 2025-10-01 14:17:08.308478 | controller | "rgrp": true, 2025-10-01 14:17:08.308513 | controller | "roth": true, 2025-10-01 14:17:08.308548 | controller | "rusr": true, 2025-10-01 14:17:08.308582 | controller | "size": 1739585, 2025-10-01 14:17:08.308617 | controller | "uid": 1000, 2025-10-01 14:17:08.308651 | controller | "wgrp": false, 2025-10-01 14:17:08.308686 | controller | "woth": false, 2025-10-01 14:17:08.308912 | controller | "wusr": true, 2025-10-01 14:17:08.308965 | controller | "xgrp": false, 2025-10-01 14:17:08.309004 | controller | "xoth": false, 2025-10-01 14:17:08.309041 | controller | "xusr": false 2025-10-01 14:17:08.309078 | controller | } 2025-10-01 14:17:08.309125 | 2025-10-01 14:17:08.359635 | 2025-10-01 14:17:08.359889 | LOOP [cifmw_setup : Remove original log from home directory] 2025-10-01 14:17:08.697619 | controller | changed: 2025-10-01 14:17:08.697976 | controller | { 2025-10-01 14:17:08.698034 | controller | "atime": 1759328220.2789366, 2025-10-01 14:17:08.698073 | controller | "ctime": 1759328032.1888297, 2025-10-01 14:17:08.698109 | controller | "dev": 64513, 2025-10-01 14:17:08.698143 | controller | "gid": 1000, 2025-10-01 14:17:08.698176 | controller | "gr_name": "zuul", 2025-10-01 14:17:08.698210 | controller | "inode": 4383363, 2025-10-01 14:17:08.698243 | controller | "isblk": false, 2025-10-01 14:17:08.698275 | controller | "ischr": false, 2025-10-01 14:17:08.698307 | controller | "isdir": false, 2025-10-01 14:17:08.698339 | controller | "isfifo": false, 2025-10-01 14:17:08.698371 | controller | "isgid": false, 2025-10-01 14:17:08.698403 | controller | "islnk": false, 2025-10-01 14:17:08.698435 | controller | "isreg": true, 2025-10-01 14:17:08.698467 | controller | "issock": false, 2025-10-01 14:17:08.698500 | controller | "isuid": false, 2025-10-01 14:17:08.698532 | controller | "mode": "0644", 2025-10-01 14:17:08.698564 | controller | "mtime": 1759328032.1888297, 2025-10-01 14:17:08.698597 | controller | "nlink": 1, 2025-10-01 14:17:08.698630 | controller | "path": "/home/zuul/ansible.log", 2025-10-01 14:17:08.698663 | controller | "pw_name": "zuul", 2025-10-01 14:17:08.698695 | controller | "rgrp": true, 2025-10-01 14:17:08.698757 | controller | "roth": true, 2025-10-01 14:17:08.698800 | controller | "rusr": true, 2025-10-01 14:17:08.698834 | controller | "size": 1739585, 2025-10-01 14:17:08.698866 | controller | "uid": 1000, 2025-10-01 14:17:08.698897 | controller | "wgrp": false, 2025-10-01 14:17:08.698929 | controller | "woth": false, 2025-10-01 14:17:08.698961 | controller | "wusr": true, 2025-10-01 14:17:08.698992 | controller | "xgrp": false, 2025-10-01 14:17:08.699023 | controller | "xoth": false, 2025-10-01 14:17:08.699055 | controller | "xusr": false 2025-10-01 14:17:08.699094 | controller | } 2025-10-01 14:17:08.731628 | 2025-10-01 14:17:08.731804 | TASK [cifmw_setup : Copy facts to dated directory] 2025-10-01 14:17:09.248435 | controller | changed 2025-10-01 14:17:09.416134 | 2025-10-01 14:17:09.416240 | PLAY [Run ci/playbooks/e2e-collect-logs.yml on CRC host] 2025-10-01 14:17:09.437721 | 2025-10-01 14:17:09.437852 | TASK [Get kubelet journalctl logs] 2025-10-01 14:17:10.479970 | crc | Output suppressed because no_log was given 2025-10-01 14:17:10.508398 | 2025-10-01 14:17:10.508489 | PLAY RECAP 2025-10-01 14:17:10.508532 | controller | ok: 44 changed: 21 unreachable: 0 failed: 0 skipped: 26 rescued: 0 ignored: 1 2025-10-01 14:17:10.508564 | crc | ok: 1 changed: 1 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2025-10-01 14:17:10.508582 | 2025-10-01 14:17:10.701918 | POST-RUN END RESULT_NORMAL: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/e2e-collect-logs.yml@main] 2025-10-01 14:17:10.707605 | POST-RUN START: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml@main] 2025-10-01 14:17:11.344712 | 2025-10-01 14:17:11.344859 | PLAY [Run ci/playbooks/collect-logs.yml] 2025-10-01 14:17:11.441311 | 2025-10-01 14:17:11.441455 | TASK [Filter out host if needed] 2025-10-01 14:17:11.496157 | controller | skipping: end_host conditional evaluated to False, continuing execution for controller 2025-10-01 14:17:11.502435 | 2025-10-01 14:17:11.502508 | TASK [Filter out host if needed] 2025-10-01 14:17:11.536882 | 2025-10-01 14:17:11.537022 | TASK [Ensure file is present] 2025-10-01 14:17:12.042869 | controller | ok 2025-10-01 14:17:12.074577 | 2025-10-01 14:17:12.074745 | TASK [Manage molecule report file] 2025-10-01 14:17:12.757317 | controller | skipping: Conditional result was False 2025-10-01 14:17:12.781759 | 2025-10-01 14:17:12.781853 | TASK [Check if we get ci-framework-data basedir] 2025-10-01 14:17:13.043979 | controller | ok 2025-10-01 14:17:13.066835 | 2025-10-01 14:17:13.066907 | TASK [Create ci-framework-data log directory for zuul] 2025-10-01 14:17:13.570018 | controller | changed 2025-10-01 14:17:13.595646 | 2025-10-01 14:17:13.595843 | TASK [Copy ci-framework interesting files] 2025-10-01 14:17:25.807019 | controller | changed 2025-10-01 14:17:25.853988 | 2025-10-01 14:17:25.854161 | TASK [Get SELinux listing] 2025-10-01 14:17:36.603111 | controller | changed 2025-10-01 14:17:36.649559 | 2025-10-01 14:17:36.649693 | TASK [Generate log index] 2025-10-01 14:17:37.563860 | controller | changed 2025-10-01 14:17:37.603390 | 2025-10-01 14:17:37.603572 | TASK [Get some env related data] 2025-10-01 14:17:38.495520 | controller | /home/zuul/.local/bin/ansible 2025-10-01 14:17:49.421258 | controller | changed 2025-10-01 14:17:49.470456 | 2025-10-01 14:17:49.470583 | TASK [Generate list of logs to collect in home directory] 2025-10-01 14:17:49.871808 | controller | ok: All paths examined 2025-10-01 14:17:49.897762 | 2025-10-01 14:17:49.897864 | LOOP [Copy logs from home directory] 2025-10-01 14:17:49.940340 | 2025-10-01 14:17:49.940518 | TASK [Copy crio stats log file] 2025-10-01 14:17:49.964896 | controller | skipping: Conditional result was False 2025-10-01 14:17:49.992491 | 2025-10-01 14:17:49.992609 | TASK [Get SELinux related data] 2025-10-01 14:17:50.484524 | controller | 2025-10-01 14:18:00.721103 | controller | ERROR 2025-10-01 14:18:00.721378 | controller | { 2025-10-01 14:18:00.721409 | controller | "delta": "0:00:00.010786", 2025-10-01 14:18:00.721429 | controller | "end": "2025-10-01 14:17:50.485683", 2025-10-01 14:18:00.721447 | controller | "msg": "non-zero return code", 2025-10-01 14:18:00.721464 | controller | "rc": 1, 2025-10-01 14:18:00.721481 | controller | "start": "2025-10-01 14:17:50.474897" 2025-10-01 14:18:00.721514 | controller | } 2025-10-01 14:18:00.721540 | controller | ERROR: Ignoring Errors 2025-10-01 14:18:00.768812 | 2025-10-01 14:18:00.769070 | TASK [Create system configuration directory] 2025-10-01 14:18:01.060841 | controller | changed 2025-10-01 14:18:01.085969 | 2025-10-01 14:18:01.086093 | TASK [Get some of the system configurations] 2025-10-01 14:18:11.809253 | controller | changed 2025-10-01 14:18:11.837088 | 2025-10-01 14:18:11.837335 | TASK [Copy generated documentation if available] 2025-10-01 14:18:11.874941 | controller | skipping: Conditional result was False 2025-10-01 14:18:11.928016 | 2025-10-01 14:18:11.928204 | TASK [Copy generated AsciiDoc documentation if available] 2025-10-01 14:18:11.955350 | controller | skipping: Conditional result was False 2025-10-01 14:18:11.994870 | 2025-10-01 14:18:11.995097 | TASK [Compress logs bigger than 2MB] 2025-10-01 14:18:35.304325 | controller | changed 2025-10-01 14:18:35.358460 | 2025-10-01 14:18:35.358672 | TASK [Copy files from workspace on node] 2025-10-01 14:18:35.431204 | controller | ok 2025-10-01 14:18:35.507888 | 2025-10-01 14:18:35.508032 | TASK [fetch-output : Set log path for multiple nodes] 2025-10-01 14:18:35.568322 | controller | ok 2025-10-01 14:18:35.633027 | 2025-10-01 14:18:35.633192 | TASK [fetch-output : Set log path for single node] 2025-10-01 14:18:35.669672 | controller | skipping: Conditional result was False 2025-10-01 14:18:35.696360 | 2025-10-01 14:18:35.696497 | LOOP [fetch-output : Ensure local output dirs] 2025-10-01 14:18:36.001822 | controller -> localhost | changed: "/var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/logs/controller" 2025-10-01 14:18:36.002269 | 2025-10-01 14:18:36.252919 | controller -> localhost | changed: "/var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/artifacts" 2025-10-01 14:18:36.484607 | controller -> localhost | changed: "/var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/docs" 2025-10-01 14:18:36.522363 | 2025-10-01 14:18:36.522513 | LOOP [fetch-output : Collect logs, artifacts and docs] 2025-10-01 14:18:39.339756 | controller | changed: 2025-10-01 14:18:39.340157 | controller | .d..t...... ./ 2025-10-01 14:18:39.340208 | controller | >f+++++++++ README.html 2025-10-01 14:18:39.340238 | controller | >f+++++++++ dmesg.log 2025-10-01 14:18:39.340266 | controller | >f+++++++++ installed-pkgs.log 2025-10-01 14:18:39.340294 | controller | >f+++++++++ python.log 2025-10-01 14:18:39.340320 | controller | >f+++++++++ registries.conf 2025-10-01 14:18:39.340345 | controller | >f+++++++++ selinux-denials.log 2025-10-01 14:18:39.340372 | controller | >f+++++++++ selinux-listing.log 2025-10-01 14:18:39.340398 | controller | cd+++++++++ ci-framework-data/ 2025-10-01 14:18:39.340426 | controller | cd+++++++++ ci-framework-data/artifacts/ 2025-10-01 14:18:39.340452 | controller | >f+++++++++ ci-framework-data/artifacts/ansible-facts.yml 2025-10-01 14:18:39.340479 | controller | >f+++++++++ ci-framework-data/artifacts/ansible-vars.yml 2025-10-01 14:18:39.340506 | controller | >f+++++++++ ci-framework-data/artifacts/ci_script_000_check_for_oc.sh 2025-10-01 14:18:39.340532 | controller | >f+++++++++ ci-framework-data/artifacts/ci_script_000_copy_logs_from_crc.sh 2025-10-01 14:18:39.340558 | controller | >f+++++++++ ci-framework-data/artifacts/ci_script_000_prepare_root_ssh.sh 2025-10-01 14:18:39.340584 | controller | >f+++++++++ ci-framework-data/artifacts/ci_script_000_run_download.sh 2025-10-01 14:18:39.340609 | controller | >f+++++++++ ci-framework-data/artifacts/ci_script_000_run_openstack_must_gather.sh 2025-10-01 14:18:39.340634 | controller | >f+++++++++ ci-framework-data/artifacts/ci_script_001_fetch_openshift.sh 2025-10-01 14:18:39.340657 | controller | >f+++++++++ ci-framework-data/artifacts/ci_script_002_run_crc_attach_default.sh 2025-10-01 14:18:39.340680 | controller | >f+++++++++ ci-framework-data/artifacts/ci_script_003_run_keystone.sh 2025-10-01 14:18:39.340703 | controller | >f+++++++++ ci-framework-data/artifacts/hosts 2025-10-01 14:18:39.340778 | controller | >f+++++++++ ci-framework-data/artifacts/install_yamls.sh 2025-10-01 14:18:39.340830 | controller | >f+++++++++ ci-framework-data/artifacts/installed-packages.yml 2025-10-01 14:18:39.340874 | controller | >f+++++++++ ci-framework-data/artifacts/ip-network.txt 2025-10-01 14:18:39.340902 | controller | >f+++++++++ ci-framework-data/artifacts/resolv.conf 2025-10-01 14:18:39.340928 | controller | >f+++++++++ ci-framework-data/artifacts/zuul_inventory.yml 2025-10-01 14:18:39.340952 | controller | cd+++++++++ ci-framework-data/artifacts/NetworkManager/ 2025-10-01 14:18:39.340976 | controller | >f+++++++++ ci-framework-data/artifacts/NetworkManager/ci-private-network.nmconnection 2025-10-01 14:18:39.341001 | controller | >f+++++++++ ci-framework-data/artifacts/NetworkManager/ens3.nmconnection 2025-10-01 14:18:39.341024 | controller | cd+++++++++ ci-framework-data/artifacts/ansible_facts.2025-10-01_14-17/ 2025-10-01 14:18:39.341063 | controller | cd+++++++++ ci-framework-data/artifacts/ansible_facts.2025-10-01_14-17/ansible_facts_cache/ 2025-10-01 14:18:39.341089 | controller | >f+++++++++ ci-framework-data/artifacts/ansible_facts.2025-10-01_14-17/ansible_facts_cache/localhost 2025-10-01 14:18:39.341113 | controller | cd+++++++++ ci-framework-data/artifacts/ci-env/ 2025-10-01 14:18:39.341136 | controller | >f+++++++++ ci-framework-data/artifacts/ci-env/networking-info.yml 2025-10-01 14:18:39.341160 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/ 2025-10-01 14:18:39.341182 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ 2025-10-01 14:18:39.341204 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml 2025-10-01 14:18:39.341227 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/ 2025-10-01 14:18:39.341250 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr/ 2025-10-01 14:18:39.341273 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr/kustomization.yaml 2025-10-01 14:18:39.341298 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr/memcached_v1beta1_memcached.yaml 2025-10-01 14:18:39.341324 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input/ 2025-10-01 14:18:39.341347 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input/kustomization.yaml 2025-10-01 14:18:39.341376 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/ 2025-10-01 14:18:39.341403 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr/ 2025-10-01 14:18:39.341428 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr/keystone_v1beta1_keystoneapi.yaml 2025-10-01 14:18:39.341452 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr/kustomization.yaml 2025-10-01 14:18:39.341476 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/ 2025-10-01 14:18:39.341500 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr/ 2025-10-01 14:18:39.341522 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr/kustomization.yaml 2025-10-01 14:18:39.341545 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr/mariadb_v1beta1_galera.yaml 2025-10-01 14:18:39.341570 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/ 2025-10-01 14:18:39.341593 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr/ 2025-10-01 14:18:39.341616 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr/kustomization.yaml 2025-10-01 14:18:39.341639 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr/rabbitmq.yaml 2025-10-01 14:18:39.341664 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/metallb-system/ 2025-10-01 14:18:39.341688 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml 2025-10-01 14:18:39.341712 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/metallb-system/metallb/ 2025-10-01 14:18:39.341768 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/ 2025-10-01 14:18:39.341795 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml 2025-10-01 14:18:39.341820 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/ 2025-10-01 14:18:39.341843 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml 2025-10-01 14:18:39.341874 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/infra/ 2025-10-01 14:18:39.341907 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/infra/op/ 2025-10-01 14:18:39.341945 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/infra/op/catalogsource.yaml 2025-10-01 14:18:39.341984 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/infra/op/operatorgroup.yaml 2025-10-01 14:18:39.342011 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/infra/op/subscription.yaml 2025-10-01 14:18:39.342034 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/keystone/ 2025-10-01 14:18:39.342058 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/keystone/op/ 2025-10-01 14:18:39.342081 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/keystone/op/catalogsource.yaml 2025-10-01 14:18:39.342104 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/keystone/op/operatorgroup.yaml 2025-10-01 14:18:39.342126 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/keystone/op/subscription.yaml 2025-10-01 14:18:39.342148 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/mariadb/ 2025-10-01 14:18:39.342301 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op/ 2025-10-01 14:18:39.342577 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op/catalogsource.yaml 2025-10-01 14:18:39.342619 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op/operatorgroup.yaml 2025-10-01 14:18:39.342645 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op/subscription.yaml 2025-10-01 14:18:39.342669 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/metallb/ 2025-10-01 14:18:39.342693 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/metallb/op/ 2025-10-01 14:18:39.342716 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/metallb/op/operatorgroup.yaml 2025-10-01 14:18:39.342769 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/metallb/op/subscription.yaml 2025-10-01 14:18:39.342796 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/ 2025-10-01 14:18:39.342820 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op/ 2025-10-01 14:18:39.342843 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op/catalogsource.yaml 2025-10-01 14:18:39.342866 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op/operatorgroup.yaml 2025-10-01 14:18:39.342890 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op/subscription.yaml 2025-10-01 14:18:39.342920 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/ 2025-10-01 14:18:39.342943 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/op/ 2025-10-01 14:18:39.342966 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack/ 2025-10-01 14:18:39.342990 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack/cr/ 2025-10-01 14:18:39.343021 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/storage/ 2025-10-01 14:18:39.343056 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/storage/storage-class.yaml 2025-10-01 14:18:39.343096 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/storage/storage.yaml 2025-10-01 14:18:39.343128 | controller | cd+++++++++ ci-framework-data/artifacts/parameters/ 2025-10-01 14:18:39.343290 | controller | >f+++++++++ ci-framework-data/artifacts/parameters/custom-params.yml 2025-10-01 14:18:39.343332 | controller | >f+++++++++ ci-framework-data/artifacts/parameters/install-yamls-params.yml 2025-10-01 14:18:39.343359 | controller | >f+++++++++ ci-framework-data/artifacts/parameters/openshift-login-params.yml 2025-10-01 14:18:39.343383 | controller | >f+++++++++ ci-framework-data/artifacts/parameters/zuul-params.yml 2025-10-01 14:18:39.343406 | controller | cd+++++++++ ci-framework-data/artifacts/repositories/ 2025-10-01 14:18:39.343429 | controller | >f+++++++++ ci-framework-data/artifacts/repositories/delorean-antelope-testing.repo 2025-10-01 14:18:39.343452 | controller | >f+++++++++ ci-framework-data/artifacts/repositories/delorean.repo 2025-10-01 14:18:39.343475 | controller | >f+++++++++ ci-framework-data/artifacts/repositories/delorean.repo.md5 2025-10-01 14:18:39.343499 | controller | >f+++++++++ ci-framework-data/artifacts/repositories/repo-setup-centos-appstream.repo 2025-10-01 14:18:39.343522 | controller | >f+++++++++ ci-framework-data/artifacts/repositories/repo-setup-centos-baseos.repo 2025-10-01 14:18:39.343546 | controller | >f+++++++++ ci-framework-data/artifacts/repositories/repo-setup-centos-highavailability.repo 2025-10-01 14:18:39.343568 | controller | >f+++++++++ ci-framework-data/artifacts/repositories/repo-setup-centos-powertools.repo 2025-10-01 14:18:39.343591 | controller | cd+++++++++ ci-framework-data/artifacts/roles/ 2025-10-01 14:18:39.343614 | controller | cd+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/ 2025-10-01 14:18:39.343636 | controller | cd+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/ 2025-10-01 14:18:39.343659 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_all.yml 2025-10-01 14:18:39.343682 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ansibleee.yml 2025-10-01 14:18:39.343705 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ansibleee_cleanup.yml 2025-10-01 14:18:39.343754 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ansibleee_kuttl.yml 2025-10-01 14:18:39.343781 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ansibleee_kuttl_cleanup.yml 2025-10-01 14:18:39.343806 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ansibleee_kuttl_prep.yml 2025-10-01 14:18:39.343828 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ansibleee_kuttl_run.yml 2025-10-01 14:18:39.343851 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ansibleee_prep.yml 2025-10-01 14:18:39.343874 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_attach_default_interface.yml 2025-10-01 14:18:39.343897 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_attach_default_interface_cleanup.yml 2025-10-01 14:18:39.343919 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican.yml 2025-10-01 14:18:39.343942 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican_cleanup.yml 2025-10-01 14:18:39.343965 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican_deploy.yml 2025-10-01 14:18:39.343987 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican_deploy_cleanup.yml 2025-10-01 14:18:39.344010 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican_deploy_prep.yml 2025-10-01 14:18:39.344033 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican_deploy_validate.yml 2025-10-01 14:18:39.344056 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican_kuttl.yml 2025-10-01 14:18:39.344086 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican_kuttl_run.yml 2025-10-01 14:18:39.344112 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican_prep.yml 2025-10-01 14:18:39.344142 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_baremetal.yml 2025-10-01 14:18:39.344177 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_baremetal_cleanup.yml 2025-10-01 14:18:39.344217 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_baremetal_prep.yml 2025-10-01 14:18:39.344248 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas.yml 2025-10-01 14:18:39.344274 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_baremetal_net_nad.yml 2025-10-01 14:18:39.344298 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_baremetal_net_nad_cleanup.yml 2025-10-01 14:18:39.344322 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_cleanup.yml 2025-10-01 14:18:39.344345 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_crc_attach_network.yml 2025-10-01 14:18:39.344367 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_crc_attach_network_cleanup.yml 2025-10-01 14:18:39.344390 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_crc_baremetal_bridge.yml 2025-10-01 14:18:39.344413 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_crc_baremetal_bridge_cleanup.yml 2025-10-01 14:18:39.344436 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_generate_nodes_yaml.yml 2025-10-01 14:18:39.344458 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_metallb.yml 2025-10-01 14:18:39.344481 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_metallb_cleanup.yml 2025-10-01 14:18:39.344503 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_network.yml 2025-10-01 14:18:39.344526 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_network_cleanup.yml 2025-10-01 14:18:39.344549 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_route_crc_and_crc_bmaas_networks.yml 2025-10-01 14:18:39.344573 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_route_crc_and_crc_bmaas_networks_cleanup.yml 2025-10-01 14:18:39.344597 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_sushy_emulator.yml 2025-10-01 14:18:39.344620 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_sushy_emulator_cleanup.yml 2025-10-01 14:18:39.344643 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_sushy_emulator_wait.yml 2025-10-01 14:18:39.344666 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_virtual_bms.yml 2025-10-01 14:18:39.344689 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_virtual_bms_cleanup.yml 2025-10-01 14:18:39.344712 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ceph.yml 2025-10-01 14:18:39.344784 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ceph_cleanup.yml 2025-10-01 14:18:39.344813 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ceph_help.yml 2025-10-01 14:18:39.344845 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_certmanager.yml 2025-10-01 14:18:39.344985 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_certmanager_cleanup.yml 2025-10-01 14:18:39.345026 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cifmw_cleanup.yml 2025-10-01 14:18:39.345053 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cifmw_prepare.yml 2025-10-01 14:18:39.345077 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cinder.yml 2025-10-01 14:18:39.345101 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cinder_cleanup.yml 2025-10-01 14:18:39.345124 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cinder_deploy.yml 2025-10-01 14:18:39.345147 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cinder_deploy_cleanup.yml 2025-10-01 14:18:39.345171 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cinder_deploy_prep.yml 2025-10-01 14:18:39.345194 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cinder_kuttl.yml 2025-10-01 14:18:39.345217 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cinder_kuttl_run.yml 2025-10-01 14:18:39.345242 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cinder_prep.yml 2025-10-01 14:18:39.345276 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cleanup.yml 2025-10-01 14:18:39.345314 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc.yml 2025-10-01 14:18:39.345353 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_attach_default_interface.yml 2025-10-01 14:18:39.345380 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_attach_default_interface_cleanup.yml 2025-10-01 14:18:39.345409 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_bmo_cleanup.yml 2025-10-01 14:18:39.345434 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_bmo_setup.yml 2025-10-01 14:18:39.345458 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_cleanup.yml 2025-10-01 14:18:39.345481 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_scrub.yml 2025-10-01 14:18:39.345504 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_storage.yml 2025-10-01 14:18:39.345528 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_storage_cleanup.yml 2025-10-01 14:18:39.345551 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_storage_cleanup_with_retries.yml 2025-10-01 14:18:39.345576 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_storage_release.yml 2025-10-01 14:18:39.345600 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_storage_with_retries.yml 2025-10-01 14:18:39.345623 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_deploy_cleanup.yml 2025-10-01 14:18:39.345647 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_designate.yml 2025-10-01 14:18:39.345670 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_designate_cleanup.yml 2025-10-01 14:18:39.345693 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_designate_deploy.yml 2025-10-01 14:18:39.345747 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_designate_deploy_cleanup.yml 2025-10-01 14:18:39.345780 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_designate_deploy_prep.yml 2025-10-01 14:18:39.345805 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_designate_kuttl.yml 2025-10-01 14:18:39.345830 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_designate_kuttl_run.yml 2025-10-01 14:18:39.345853 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_designate_prep.yml 2025-10-01 14:18:39.345876 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_dns_deploy.yml 2025-10-01 14:18:39.345898 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_dns_deploy_cleanup.yml 2025-10-01 14:18:39.345920 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_dns_deploy_prep.yml 2025-10-01 14:18:39.345942 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_download_tools.yml 2025-10-01 14:18:39.345964 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_ansible_runner.yml 2025-10-01 14:18:39.345986 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_baremetal_compute.yml 2025-10-01 14:18:39.346008 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_compute.yml 2025-10-01 14:18:39.346031 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_compute_bootc.yml 2025-10-01 14:18:39.346056 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_compute_cleanup.yml 2025-10-01 14:18:39.346078 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_compute_repos.yml 2025-10-01 14:18:39.346101 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_computes_bgp.yml 2025-10-01 14:18:39.346123 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy.yml 2025-10-01 14:18:39.346145 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_baremetal.yml 2025-10-01 14:18:39.346166 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_baremetal_prep.yml 2025-10-01 14:18:39.346188 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_cleanup.yml 2025-10-01 14:18:39.346210 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_generate_keys.yml 2025-10-01 14:18:39.346232 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_instance.yml 2025-10-01 14:18:39.346254 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_networker.yml 2025-10-01 14:18:39.346276 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_networker_cleanup.yml 2025-10-01 14:18:39.346298 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_networker_prep.yml 2025-10-01 14:18:39.346319 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_prep.yml 2025-10-01 14:18:39.346341 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_networker.yml 2025-10-01 14:18:39.346364 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_networker_cleanup.yml 2025-10-01 14:18:39.346396 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_nova_discover_hosts.yml 2025-10-01 14:18:39.346441 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_patch_ansible_runner_image.yml 2025-10-01 14:18:39.346478 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_register_dns.yml 2025-10-01 14:18:39.346503 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_wait_deploy.yml 2025-10-01 14:18:39.346527 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_wait_deploy_baremetal.yml 2025-10-01 14:18:39.346551 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_glance.yml 2025-10-01 14:18:39.346575 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_glance_cleanup.yml 2025-10-01 14:18:39.346599 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_glance_deploy.yml 2025-10-01 14:18:39.346622 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_glance_deploy_cleanup.yml 2025-10-01 14:18:39.346644 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_glance_deploy_prep.yml 2025-10-01 14:18:39.346667 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_glance_kuttl.yml 2025-10-01 14:18:39.346688 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_glance_kuttl_run.yml 2025-10-01 14:18:39.346710 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_glance_prep.yml 2025-10-01 14:18:39.346760 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat.yml 2025-10-01 14:18:39.346786 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat_cleanup.yml 2025-10-01 14:18:39.346809 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat_deploy.yml 2025-10-01 14:18:39.346833 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat_deploy_cleanup.yml 2025-10-01 14:18:39.346855 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat_deploy_prep.yml 2025-10-01 14:18:39.346879 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat_kuttl.yml 2025-10-01 14:18:39.346903 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat_kuttl_crc.yml 2025-10-01 14:18:39.346927 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat_kuttl_run.yml 2025-10-01 14:18:39.346950 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat_prep.yml 2025-10-01 14:18:39.346972 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_help.yml 2025-10-01 14:18:39.346994 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_horizon.yml 2025-10-01 14:18:39.347017 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_horizon_cleanup.yml 2025-10-01 14:18:39.347039 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_horizon_deploy.yml 2025-10-01 14:18:39.347061 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_horizon_deploy_cleanup.yml 2025-10-01 14:18:39.347083 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_horizon_deploy_prep.yml 2025-10-01 14:18:39.347105 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_horizon_kuttl.yml 2025-10-01 14:18:39.347127 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_horizon_kuttl_run.yml 2025-10-01 14:18:39.347156 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_horizon_prep.yml 2025-10-01 14:18:39.347179 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_infra.yml 2025-10-01 14:18:39.347202 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_infra_cleanup.yml 2025-10-01 14:18:39.347226 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_infra_kuttl.yml 2025-10-01 14:18:39.347250 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_infra_kuttl_run.yml 2025-10-01 14:18:39.347273 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_infra_prep.yml 2025-10-01 14:18:39.347296 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_input.yml 2025-10-01 14:18:39.347320 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_input_cleanup.yml 2025-10-01 14:18:39.347343 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ipv6_lab.yml 2025-10-01 14:18:39.347367 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ipv6_lab_cleanup.yml 2025-10-01 14:18:39.347390 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ipv6_lab_nat64_router.yml 2025-10-01 14:18:39.347413 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ipv6_lab_nat64_router_cleanup.yml 2025-10-01 14:18:39.347436 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ipv6_lab_network.yml 2025-10-01 14:18:39.347459 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ipv6_lab_network_cleanup.yml 2025-10-01 14:18:39.347483 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ipv6_lab_sno.yml 2025-10-01 14:18:39.347517 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ipv6_lab_sno_cleanup.yml 2025-10-01 14:18:39.347556 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic.yml 2025-10-01 14:18:39.347591 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic_cleanup.yml 2025-10-01 14:18:39.347617 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic_deploy.yml 2025-10-01 14:18:39.347641 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic_deploy_cleanup.yml 2025-10-01 14:18:39.347666 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic_deploy_prep.yml 2025-10-01 14:18:39.347692 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic_kuttl.yml 2025-10-01 14:18:39.347716 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic_kuttl_crc.yml 2025-10-01 14:18:39.347767 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic_kuttl_run.yml 2025-10-01 14:18:39.347793 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic_prep.yml 2025-10-01 14:18:39.347816 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone.yml 2025-10-01 14:18:39.347842 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone_cleanup.yml 2025-10-01 14:18:39.347866 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone_deploy.yml 2025-10-01 14:18:39.347888 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone_deploy_cleanup.yml 2025-10-01 14:18:39.347911 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone_deploy_prep.yml 2025-10-01 14:18:39.347941 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone_kuttl.yml 2025-10-01 14:18:39.347966 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone_kuttl_run.yml 2025-10-01 14:18:39.347988 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone_prep.yml 2025-10-01 14:18:39.348010 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_kuttl_common_cleanup.yml 2025-10-01 14:18:39.348032 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_kuttl_common_prep.yml 2025-10-01 14:18:39.348053 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_kuttl_db_cleanup.yml 2025-10-01 14:18:39.348075 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_kuttl_db_prep.yml 2025-10-01 14:18:39.348098 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_loki.yml 2025-10-01 14:18:39.348120 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_loki_cleanup.yml 2025-10-01 14:18:39.348143 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_loki_deploy.yml 2025-10-01 14:18:39.348165 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_loki_deploy_cleanup.yml 2025-10-01 14:18:39.348188 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_lvms.yml 2025-10-01 14:18:39.348210 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_manila.yml 2025-10-01 14:18:39.348233 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_manila_cleanup.yml 2025-10-01 14:18:39.348255 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_manila_deploy.yml 2025-10-01 14:18:39.348277 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_manila_deploy_cleanup.yml 2025-10-01 14:18:39.348299 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_manila_deploy_prep.yml 2025-10-01 14:18:39.348321 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_manila_kuttl.yml 2025-10-01 14:18:39.348343 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_manila_kuttl_run.yml 2025-10-01 14:18:39.348365 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_manila_prep.yml 2025-10-01 14:18:39.348388 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb.yml 2025-10-01 14:18:39.348410 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb_chainsaw.yml 2025-10-01 14:18:39.348432 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb_chainsaw_run.yml 2025-10-01 14:18:39.348454 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb_cleanup.yml 2025-10-01 14:18:39.348476 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb_deploy.yml 2025-10-01 14:18:39.348498 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb_deploy_cleanup.yml 2025-10-01 14:18:39.348520 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb_deploy_prep.yml 2025-10-01 14:18:39.348541 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb_kuttl.yml 2025-10-01 14:18:39.348563 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb_kuttl_run.yml 2025-10-01 14:18:39.348584 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_memcached_deploy.yml 2025-10-01 14:18:39.348619 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_memcached_deploy_cleanup.yml 2025-10-01 14:18:39.348658 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_memcached_deploy_prep.yml 2025-10-01 14:18:39.348695 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_metallb.yml 2025-10-01 14:18:39.348762 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_metallb_cleanup.yml 2025-10-01 14:18:39.348798 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_metallb_config.yml 2025-10-01 14:18:39.348825 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_metallb_config_cleanup.yml 2025-10-01 14:18:39.348850 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_namespace.yml 2025-10-01 14:18:39.348874 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_namespace_cleanup.yml 2025-10-01 14:18:39.348896 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netattach.yml 2025-10-01 14:18:39.348919 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netattach_cleanup.yml 2025-10-01 14:18:39.348942 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netconfig_deploy.yml 2025-10-01 14:18:39.348965 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netconfig_deploy_cleanup.yml 2025-10-01 14:18:39.348990 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netconfig_deploy_prep.yml 2025-10-01 14:18:39.349014 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netobserv.yml 2025-10-01 14:18:39.349038 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netobserv_cleanup.yml 2025-10-01 14:18:39.349061 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netobserv_deploy.yml 2025-10-01 14:18:39.349084 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netobserv_deploy_cleanup.yml 2025-10-01 14:18:39.349107 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_network_isolation_bridge.yml 2025-10-01 14:18:39.349130 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_network_isolation_bridge_cleanup.yml 2025-10-01 14:18:39.349153 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_neutron.yml 2025-10-01 14:18:39.349176 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_neutron_cleanup.yml 2025-10-01 14:18:39.349198 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_neutron_deploy.yml 2025-10-01 14:18:39.349220 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_neutron_deploy_cleanup.yml 2025-10-01 14:18:39.349242 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_neutron_deploy_prep.yml 2025-10-01 14:18:39.349265 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_neutron_kuttl.yml 2025-10-01 14:18:39.349287 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_neutron_kuttl_run.yml 2025-10-01 14:18:39.349309 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_neutron_prep.yml 2025-10-01 14:18:39.349331 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nfs.yml 2025-10-01 14:18:39.349353 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nfs_cleanup.yml 2025-10-01 14:18:39.349383 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nmstate.yml 2025-10-01 14:18:39.349407 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nncp.yml 2025-10-01 14:18:39.349431 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nncp_cleanup.yml 2025-10-01 14:18:39.349453 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nova.yml 2025-10-01 14:18:39.349476 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nova_cleanup.yml 2025-10-01 14:18:39.349498 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nova_deploy.yml 2025-10-01 14:18:39.349520 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nova_deploy_cleanup.yml 2025-10-01 14:18:39.349543 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nova_deploy_prep.yml 2025-10-01 14:18:39.349565 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nova_prep.yml 2025-10-01 14:18:39.349587 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_octavia.yml 2025-10-01 14:18:39.349609 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_octavia_cleanup.yml 2025-10-01 14:18:39.349631 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_octavia_deploy.yml 2025-10-01 14:18:39.349653 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_octavia_deploy_cleanup.yml 2025-10-01 14:18:39.349676 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_octavia_deploy_prep.yml 2025-10-01 14:18:39.349698 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_octavia_kuttl.yml 2025-10-01 14:18:39.349750 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_octavia_kuttl_run.yml 2025-10-01 14:18:39.349800 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_octavia_prep.yml 2025-10-01 14:18:39.349831 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack.yml 2025-10-01 14:18:39.349856 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_cleanup.yml 2025-10-01 14:18:39.349879 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_crds.yml 2025-10-01 14:18:39.349901 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_crds_cleanup.yml 2025-10-01 14:18:39.349923 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_deploy.yml 2025-10-01 14:18:39.349946 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_deploy_cleanup.yml 2025-10-01 14:18:39.349968 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_deploy_prep.yml 2025-10-01 14:18:39.349990 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_init.yml 2025-10-01 14:18:39.350012 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_kuttl.yml 2025-10-01 14:18:39.350034 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_kuttl_run.yml 2025-10-01 14:18:39.350056 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_patch_version.yml 2025-10-01 14:18:39.350078 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_prep.yml 2025-10-01 14:18:39.350107 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_repo.yml 2025-10-01 14:18:39.350130 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_update_run.yml 2025-10-01 14:18:39.350152 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_wait.yml 2025-10-01 14:18:39.350187 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_wait_deploy.yml 2025-10-01 14:18:39.350217 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_operator_namespace.yml 2025-10-01 14:18:39.350246 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ovn.yml 2025-10-01 14:18:39.350275 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ovn_cleanup.yml 2025-10-01 14:18:39.350305 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ovn_deploy.yml 2025-10-01 14:18:39.350333 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ovn_deploy_cleanup.yml 2025-10-01 14:18:39.350360 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ovn_deploy_prep.yml 2025-10-01 14:18:39.350387 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ovn_kuttl.yml 2025-10-01 14:18:39.350415 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ovn_kuttl_run.yml 2025-10-01 14:18:39.350442 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ovn_prep.yml 2025-10-01 14:18:39.350469 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_placement.yml 2025-10-01 14:18:39.350496 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_placement_cleanup.yml 2025-10-01 14:18:39.350523 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_placement_deploy.yml 2025-10-01 14:18:39.350551 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_placement_deploy_cleanup.yml 2025-10-01 14:18:39.350578 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_placement_deploy_prep.yml 2025-10-01 14:18:39.350605 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_placement_kuttl.yml 2025-10-01 14:18:39.350632 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_placement_kuttl_run.yml 2025-10-01 14:18:39.350659 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_placement_prep.yml 2025-10-01 14:18:39.350686 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rabbitmq.yml 2025-10-01 14:18:39.350712 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rabbitmq_cleanup.yml 2025-10-01 14:18:39.350767 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rabbitmq_deploy.yml 2025-10-01 14:18:39.350800 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rabbitmq_deploy_cleanup.yml 2025-10-01 14:18:39.350915 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rabbitmq_deploy_prep.yml 2025-10-01 14:18:39.350960 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rabbitmq_prep.yml 2025-10-01 14:18:39.350988 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_redis_deploy.yml 2025-10-01 14:18:39.351012 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_redis_deploy_cleanup.yml 2025-10-01 14:18:39.351036 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_redis_deploy_prep.yml 2025-10-01 14:18:39.351067 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rook.yml 2025-10-01 14:18:39.351091 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rook_cleanup.yml 2025-10-01 14:18:39.351114 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rook_crc_disk.yml 2025-10-01 14:18:39.351137 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rook_deploy.yml 2025-10-01 14:18:39.351159 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rook_deploy_prep.yml 2025-10-01 14:18:39.351181 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rook_prep.yml 2025-10-01 14:18:39.351204 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_set_slower_etcd_profile.yml 2025-10-01 14:18:39.351227 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_standalone.yml 2025-10-01 14:18:39.351250 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_standalone_cleanup.yml 2025-10-01 14:18:39.351273 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_standalone_deploy.yml 2025-10-01 14:18:39.351297 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_standalone_revert.yml 2025-10-01 14:18:39.351320 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_standalone_snapshot.yml 2025-10-01 14:18:39.351343 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_standalone_sync.yml 2025-10-01 14:18:39.351366 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_swift.yml 2025-10-01 14:18:39.351389 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_swift_cleanup.yml 2025-10-01 14:18:39.351411 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_swift_deploy.yml 2025-10-01 14:18:39.351433 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_swift_deploy_cleanup.yml 2025-10-01 14:18:39.351455 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_swift_deploy_prep.yml 2025-10-01 14:18:39.351476 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_swift_kuttl.yml 2025-10-01 14:18:39.351498 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_swift_kuttl_run.yml 2025-10-01 14:18:39.351520 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_swift_prep.yml 2025-10-01 14:18:39.351541 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_telemetry.yml 2025-10-01 14:18:39.351563 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_telemetry_cleanup.yml 2025-10-01 14:18:39.351584 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_telemetry_deploy.yml 2025-10-01 14:18:39.351606 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_telemetry_deploy_cleanup.yml 2025-10-01 14:18:39.351628 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_telemetry_deploy_prep.yml 2025-10-01 14:18:39.351650 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_telemetry_kuttl.yml 2025-10-01 14:18:39.351671 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_telemetry_kuttl_run.yml 2025-10-01 14:18:39.351693 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_telemetry_prep.yml 2025-10-01 14:18:39.351720 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_tripleo_deploy.yml 2025-10-01 14:18:39.351825 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_update_services.yml 2025-10-01 14:18:39.351851 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_update_system.yml 2025-10-01 14:18:39.351874 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_validate_marketplace.yml 2025-10-01 14:18:39.351897 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_wait.yml 2025-10-01 14:18:39.351919 | controller | cd+++++++++ ci-framework-data/artifacts/yum_repos/ 2025-10-01 14:18:39.351944 | controller | >f+++++++++ ci-framework-data/artifacts/yum_repos/delorean-antelope-testing.repo 2025-10-01 14:18:39.351981 | controller | >f+++++++++ ci-framework-data/artifacts/yum_repos/delorean.repo 2025-10-01 14:18:39.352022 | controller | >f+++++++++ ci-framework-data/artifacts/yum_repos/delorean.repo.md5 2025-10-01 14:18:39.352060 | controller | >f+++++++++ ci-framework-data/artifacts/yum_repos/repo-setup-centos-appstream.repo 2025-10-01 14:18:39.352092 | controller | >f+++++++++ ci-framework-data/artifacts/yum_repos/repo-setup-centos-baseos.repo 2025-10-01 14:18:39.352116 | controller | >f+++++++++ ci-framework-data/artifacts/yum_repos/repo-setup-centos-highavailability.repo 2025-10-01 14:18:39.352139 | controller | >f+++++++++ ci-framework-data/artifacts/yum_repos/repo-setup-centos-powertools.repo 2025-10-01 14:18:39.352162 | controller | cd+++++++++ ci-framework-data/logs/ 2025-10-01 14:18:39.352186 | controller | >f+++++++++ ci-framework-data/logs/ansible.log 2025-10-01 14:18:39.352209 | controller | >f+++++++++ ci-framework-data/logs/ci_script_000_copy_logs_from_crc.log 2025-10-01 14:18:39.352232 | controller | >f+++++++++ ci-framework-data/logs/ci_script_000_prepare_root_ssh.log 2025-10-01 14:18:39.352254 | controller | >f+++++++++ ci-framework-data/logs/ci_script_000_run_download.log 2025-10-01 14:18:39.352277 | controller | >f+++++++++ ci-framework-data/logs/ci_script_000_run_openstack_must_gather.log 2025-10-01 14:18:39.352300 | controller | >f+++++++++ ci-framework-data/logs/ci_script_001_fetch_openshift.log 2025-10-01 14:18:39.352322 | controller | >f+++++++++ ci-framework-data/logs/ci_script_002_run_crc_attach_default.log 2025-10-01 14:18:39.352454 | controller | >f+++++++++ ci-framework-data/logs/ci_script_003_run_keystone.log 2025-10-01 14:18:39.352487 | controller | cd+++++++++ ci-framework-data/logs/2025-10-01_14-13/ 2025-10-01 14:18:39.352690 | controller | >f+++++++++ ci-framework-data/logs/2025-10-01_14-13/ansible.log 2025-10-01 14:18:39.352801 | controller | cd+++++++++ ci-framework-data/logs/crc/ 2025-10-01 14:18:39.352838 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/ 2025-10-01 14:18:39.352863 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/ 2025-10-01 14:18:39.352888 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-rgdm8_c6ea90f2-b0dc-4809-a02d-c44eda1431c2/ 2025-10-01 14:18:39.352913 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-rgdm8_c6ea90f2-b0dc-4809-a02d-c44eda1431c2/csi-provisioner/ 2025-10-01 14:18:39.352937 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-rgdm8_c6ea90f2-b0dc-4809-a02d-c44eda1431c2/csi-provisioner/0.log 2025-10-01 14:18:39.352961 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-rgdm8_c6ea90f2-b0dc-4809-a02d-c44eda1431c2/hostpath-provisioner/ 2025-10-01 14:18:39.352984 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-rgdm8_c6ea90f2-b0dc-4809-a02d-c44eda1431c2/hostpath-provisioner/0.log 2025-10-01 14:18:39.353016 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-rgdm8_c6ea90f2-b0dc-4809-a02d-c44eda1431c2/liveness-probe/ 2025-10-01 14:18:39.353041 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-rgdm8_c6ea90f2-b0dc-4809-a02d-c44eda1431c2/liveness-probe/0.log 2025-10-01 14:18:39.353064 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-rgdm8_c6ea90f2-b0dc-4809-a02d-c44eda1431c2/node-driver-registrar/ 2025-10-01 14:18:39.353087 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-rgdm8_c6ea90f2-b0dc-4809-a02d-c44eda1431c2/node-driver-registrar/0.log 2025-10-01 14:18:39.353120 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_memcached-0_beae5224-51a1-4e93-9381-a10808afc6c1/ 2025-10-01 14:18:39.353158 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_memcached-0_beae5224-51a1-4e93-9381-a10808afc6c1/memcached/ 2025-10-01 14:18:39.353198 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_memcached-0_beae5224-51a1-4e93-9381-a10808afc6c1/memcached/0.log 2025-10-01 14:18:39.353226 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-0_1a4a45b8-6786-400a-ad17-d6318d1d3da6/ 2025-10-01 14:18:39.353250 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-0_1a4a45b8-6786-400a-ad17-d6318d1d3da6/galera/ 2025-10-01 14:18:39.353273 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-0_1a4a45b8-6786-400a-ad17-d6318d1d3da6/galera/0.log 2025-10-01 14:18:39.353296 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-0_1a4a45b8-6786-400a-ad17-d6318d1d3da6/mysql-bootstrap/ 2025-10-01 14:18:39.353422 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-0_1a4a45b8-6786-400a-ad17-d6318d1d3da6/mysql-bootstrap/0.log 2025-10-01 14:18:39.353458 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-1_5660c969-322b-4ef6-a625-091735875ab7/ 2025-10-01 14:18:39.353484 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-1_5660c969-322b-4ef6-a625-091735875ab7/galera/ 2025-10-01 14:18:39.353509 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-1_5660c969-322b-4ef6-a625-091735875ab7/galera/0.log 2025-10-01 14:18:39.353533 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-1_5660c969-322b-4ef6-a625-091735875ab7/mysql-bootstrap/ 2025-10-01 14:18:39.353556 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-1_5660c969-322b-4ef6-a625-091735875ab7/mysql-bootstrap/0.log 2025-10-01 14:18:39.353582 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-2_6b74e8cc-1edb-4f88-89be-672909669498/ 2025-10-01 14:18:39.353606 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-2_6b74e8cc-1edb-4f88-89be-672909669498/galera/ 2025-10-01 14:18:39.353629 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-2_6b74e8cc-1edb-4f88-89be-672909669498/galera/0.log 2025-10-01 14:18:39.353653 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-2_6b74e8cc-1edb-4f88-89be-672909669498/mysql-bootstrap/ 2025-10-01 14:18:39.353687 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-2_6b74e8cc-1edb-4f88-89be-672909669498/mysql-bootstrap/0.log 2025-10-01 14:18:39.353711 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_rabbitmq-server-0_5be2fd22-c494-44f3-889d-43561b4bfa34/ 2025-10-01 14:18:39.353761 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_rabbitmq-server-0_5be2fd22-c494-44f3-889d-43561b4bfa34/rabbitmq/ 2025-10-01 14:18:39.353786 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_rabbitmq-server-0_5be2fd22-c494-44f3-889d-43561b4bfa34/rabbitmq/0.log 2025-10-01 14:18:39.353809 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_rabbitmq-server-0_5be2fd22-c494-44f3-889d-43561b4bfa34/setup-container/ 2025-10-01 14:18:39.353831 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_rabbitmq-server-0_5be2fd22-c494-44f3-889d-43561b4bfa34/setup-container/0.log 2025-10-01 14:18:39.353853 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_controller-5d688f5ffc-rhh9b_5beb15f9-6d7c-4a0e-b107-4b91e645f9a0/ 2025-10-01 14:18:39.353875 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_controller-5d688f5ffc-rhh9b_5beb15f9-6d7c-4a0e-b107-4b91e645f9a0/controller/ 2025-10-01 14:18:39.353898 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_controller-5d688f5ffc-rhh9b_5beb15f9-6d7c-4a0e-b107-4b91e645f9a0/controller/0.log 2025-10-01 14:18:39.353920 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_controller-5d688f5ffc-rhh9b_5beb15f9-6d7c-4a0e-b107-4b91e645f9a0/kube-rbac-proxy/ 2025-10-01 14:18:39.353942 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_controller-5d688f5ffc-rhh9b_5beb15f9-6d7c-4a0e-b107-4b91e645f9a0/kube-rbac-proxy/0.log 2025-10-01 14:18:39.353964 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-59tlr_e42331ce-7b2f-48d8-81a3-9b8ecf89ec1e/ 2025-10-01 14:18:39.353987 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-59tlr_e42331ce-7b2f-48d8-81a3-9b8ecf89ec1e/3ac2e3cf29ca50973e4d42db6277589dca2e9d7788a625bed0b3bdd1cd177a5b.log 2025-10-01 14:18:39.354010 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-59tlr_e42331ce-7b2f-48d8-81a3-9b8ecf89ec1e/controller/ 2025-10-01 14:18:39.354032 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-59tlr_e42331ce-7b2f-48d8-81a3-9b8ecf89ec1e/controller/0.log 2025-10-01 14:18:39.354054 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-59tlr_e42331ce-7b2f-48d8-81a3-9b8ecf89ec1e/cp-frr-files/ 2025-10-01 14:18:39.354076 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-59tlr_e42331ce-7b2f-48d8-81a3-9b8ecf89ec1e/cp-frr-files/0.log 2025-10-01 14:18:39.354098 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-59tlr_e42331ce-7b2f-48d8-81a3-9b8ecf89ec1e/cp-metrics/ 2025-10-01 14:18:39.354119 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-59tlr_e42331ce-7b2f-48d8-81a3-9b8ecf89ec1e/cp-metrics/0.log 2025-10-01 14:18:39.354141 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-59tlr_e42331ce-7b2f-48d8-81a3-9b8ecf89ec1e/cp-reloader/ 2025-10-01 14:18:39.354163 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-59tlr_e42331ce-7b2f-48d8-81a3-9b8ecf89ec1e/cp-reloader/0.log 2025-10-01 14:18:39.354184 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-59tlr_e42331ce-7b2f-48d8-81a3-9b8ecf89ec1e/frr-metrics/ 2025-10-01 14:18:39.354215 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-59tlr_e42331ce-7b2f-48d8-81a3-9b8ecf89ec1e/frr-metrics/0.log 2025-10-01 14:18:39.354249 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-59tlr_e42331ce-7b2f-48d8-81a3-9b8ecf89ec1e/frr/ 2025-10-01 14:18:39.354285 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-59tlr_e42331ce-7b2f-48d8-81a3-9b8ecf89ec1e/frr/0.log.gz 2025-10-01 14:18:39.354322 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-59tlr_e42331ce-7b2f-48d8-81a3-9b8ecf89ec1e/kube-rbac-proxy-frr/ 2025-10-01 14:18:39.354348 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-59tlr_e42331ce-7b2f-48d8-81a3-9b8ecf89ec1e/kube-rbac-proxy-frr/0.log 2025-10-01 14:18:39.354372 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-59tlr_e42331ce-7b2f-48d8-81a3-9b8ecf89ec1e/kube-rbac-proxy/ 2025-10-01 14:18:39.354394 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-59tlr_e42331ce-7b2f-48d8-81a3-9b8ecf89ec1e/kube-rbac-proxy/0.log 2025-10-01 14:18:39.354417 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-59tlr_e42331ce-7b2f-48d8-81a3-9b8ecf89ec1e/reloader/ 2025-10-01 14:18:39.354439 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-59tlr_e42331ce-7b2f-48d8-81a3-9b8ecf89ec1e/reloader/0.log 2025-10-01 14:18:39.354461 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-webhook-server-5478bdb765-8g948_bf28ca5c-6c07-4447-bfde-7c86bd08f4ae/ 2025-10-01 14:18:39.354483 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-webhook-server-5478bdb765-8g948_bf28ca5c-6c07-4447-bfde-7c86bd08f4ae/frr-k8s-webhook-server/ 2025-10-01 14:18:39.354505 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-webhook-server-5478bdb765-8g948_bf28ca5c-6c07-4447-bfde-7c86bd08f4ae/frr-k8s-webhook-server/0.log 2025-10-01 14:18:39.354528 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_metallb-operator-controller-manager-597c4b7b96-2jb5j_aa824545-2e4e-49f3-ab37-05c10785acee/ 2025-10-01 14:18:39.354551 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_metallb-operator-controller-manager-597c4b7b96-2jb5j_aa824545-2e4e-49f3-ab37-05c10785acee/manager/ 2025-10-01 14:18:39.354573 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_metallb-operator-controller-manager-597c4b7b96-2jb5j_aa824545-2e4e-49f3-ab37-05c10785acee/manager/0.log 2025-10-01 14:18:39.354596 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_metallb-operator-webhook-server-7b9b85bd76-p6smt_b9d7f73a-7289-4825-9659-d330a9496ae1/ 2025-10-01 14:18:39.354617 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_metallb-operator-webhook-server-7b9b85bd76-p6smt_b9d7f73a-7289-4825-9659-d330a9496ae1/webhook-server/ 2025-10-01 14:18:39.354639 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_metallb-operator-webhook-server-7b9b85bd76-p6smt_b9d7f73a-7289-4825-9659-d330a9496ae1/webhook-server/0.log 2025-10-01 14:18:39.354661 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_speaker-2nzm9_1ed85e6c-7ddf-4fd6-a2ab-cd71a422b0cc/ 2025-10-01 14:18:39.354683 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_speaker-2nzm9_1ed85e6c-7ddf-4fd6-a2ab-cd71a422b0cc/kube-rbac-proxy/ 2025-10-01 14:18:39.354714 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_speaker-2nzm9_1ed85e6c-7ddf-4fd6-a2ab-cd71a422b0cc/kube-rbac-proxy/0.log 2025-10-01 14:18:39.354775 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_speaker-2nzm9_1ed85e6c-7ddf-4fd6-a2ab-cd71a422b0cc/speaker/ 2025-10-01 14:18:39.354801 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_speaker-2nzm9_1ed85e6c-7ddf-4fd6-a2ab-cd71a422b0cc/speaker/0.log.gz 2025-10-01 14:18:39.354823 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver-operator_openshift-apiserver-operator-796bbdcf4f-6z77g_ed0e4912-6802-4b79-b7ed-aec44a875cfb/ 2025-10-01 14:18:39.354846 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver-operator_openshift-apiserver-operator-796bbdcf4f-6z77g_ed0e4912-6802-4b79-b7ed-aec44a875cfb/openshift-apiserver-operator/ 2025-10-01 14:18:39.354868 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver-operator_openshift-apiserver-operator-796bbdcf4f-6z77g_ed0e4912-6802-4b79-b7ed-aec44a875cfb/openshift-apiserver-operator/0.log 2025-10-01 14:18:39.354890 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver_apiserver-76f77b778f-nndfg_c1ff7b1d-7ac6-4fa8-8003-b2f68a12b2b3/ 2025-10-01 14:18:39.354912 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver_apiserver-76f77b778f-nndfg_c1ff7b1d-7ac6-4fa8-8003-b2f68a12b2b3/fix-audit-permissions/ 2025-10-01 14:18:39.354935 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver_apiserver-76f77b778f-nndfg_c1ff7b1d-7ac6-4fa8-8003-b2f68a12b2b3/fix-audit-permissions/0.log 2025-10-01 14:18:39.354958 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver_apiserver-76f77b778f-nndfg_c1ff7b1d-7ac6-4fa8-8003-b2f68a12b2b3/openshift-apiserver-check-endpoints/ 2025-10-01 14:18:39.354981 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver_apiserver-76f77b778f-nndfg_c1ff7b1d-7ac6-4fa8-8003-b2f68a12b2b3/openshift-apiserver-check-endpoints/0.log 2025-10-01 14:18:39.355004 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver_apiserver-76f77b778f-nndfg_c1ff7b1d-7ac6-4fa8-8003-b2f68a12b2b3/openshift-apiserver/ 2025-10-01 14:18:39.355125 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver_apiserver-76f77b778f-nndfg_c1ff7b1d-7ac6-4fa8-8003-b2f68a12b2b3/openshift-apiserver/0.log 2025-10-01 14:18:39.355161 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-authentication-operator_authentication-operator-69f744f599-jzv9l_ce42be67-2e4d-4ca7-8ed8-5173d003c548/ 2025-10-01 14:18:39.355186 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-authentication-operator_authentication-operator-69f744f599-jzv9l_ce42be67-2e4d-4ca7-8ed8-5173d003c548/authentication-operator/ 2025-10-01 14:18:39.355210 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-authentication-operator_authentication-operator-69f744f599-jzv9l_ce42be67-2e4d-4ca7-8ed8-5173d003c548/authentication-operator/0.log 2025-10-01 14:18:39.355233 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-authentication_oauth-openshift-96d6999f9-4m2cx_85495b3d-e2ee-4d55-9567-0104624c6930/ 2025-10-01 14:18:39.355257 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-authentication_oauth-openshift-96d6999f9-4m2cx_85495b3d-e2ee-4d55-9567-0104624c6930/oauth-openshift/ 2025-10-01 14:18:39.355280 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-authentication_oauth-openshift-96d6999f9-4m2cx_85495b3d-e2ee-4d55-9567-0104624c6930/oauth-openshift/0.log 2025-10-01 14:18:39.355310 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-machine-approver_machine-approver-56656f9798-ddtd2_3ff0b1ac-8f04-4329-a5c7-cef871a84890/ 2025-10-01 14:18:39.355338 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-machine-approver_machine-approver-56656f9798-ddtd2_3ff0b1ac-8f04-4329-a5c7-cef871a84890/kube-rbac-proxy/ 2025-10-01 14:18:39.355371 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-machine-approver_machine-approver-56656f9798-ddtd2_3ff0b1ac-8f04-4329-a5c7-cef871a84890/kube-rbac-proxy/0.log 2025-10-01 14:18:39.355409 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-machine-approver_machine-approver-56656f9798-ddtd2_3ff0b1ac-8f04-4329-a5c7-cef871a84890/machine-approver-controller/ 2025-10-01 14:18:39.355447 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-machine-approver_machine-approver-56656f9798-ddtd2_3ff0b1ac-8f04-4329-a5c7-cef871a84890/machine-approver-controller/0.log 2025-10-01 14:18:39.355473 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-samples-operator_cluster-samples-operator-665b6dd947-ldzzw_cd5a9b77-d066-401b-a7c2-0c331cc8dd2e/ 2025-10-01 14:18:39.355497 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-samples-operator_cluster-samples-operator-665b6dd947-ldzzw_cd5a9b77-d066-401b-a7c2-0c331cc8dd2e/2203e9859c77c9adb2823a22f914c260ddeb75e84eb96f692daf4b9bea5859ed.log 2025-10-01 14:18:39.355522 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-samples-operator_cluster-samples-operator-665b6dd947-ldzzw_cd5a9b77-d066-401b-a7c2-0c331cc8dd2e/cluster-samples-operator-watch/ 2025-10-01 14:18:39.355546 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-samples-operator_cluster-samples-operator-665b6dd947-ldzzw_cd5a9b77-d066-401b-a7c2-0c331cc8dd2e/cluster-samples-operator-watch/0.log 2025-10-01 14:18:39.355571 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-samples-operator_cluster-samples-operator-665b6dd947-ldzzw_cd5a9b77-d066-401b-a7c2-0c331cc8dd2e/cluster-samples-operator/ 2025-10-01 14:18:39.355596 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-samples-operator_cluster-samples-operator-665b6dd947-ldzzw_cd5a9b77-d066-401b-a7c2-0c331cc8dd2e/cluster-samples-operator/0.log 2025-10-01 14:18:39.355620 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-version_cluster-version-operator-5c965bbfc6-bxgm8_86e6b59b-c02d-4401-ad39-8b83c49348b4/ 2025-10-01 14:18:39.355642 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-version_cluster-version-operator-5c965bbfc6-bxgm8_86e6b59b-c02d-4401-ad39-8b83c49348b4/cluster-version-operator/ 2025-10-01 14:18:39.355666 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-version_cluster-version-operator-5c965bbfc6-bxgm8_86e6b59b-c02d-4401-ad39-8b83c49348b4/cluster-version-operator/0.log.gz 2025-10-01 14:18:39.355688 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-config-operator_openshift-config-operator-7777fb866f-xfhs8_a0c0ab2f-639f-4892-80a8-d0ed090e6d5f/ 2025-10-01 14:18:39.355711 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-config-operator_openshift-config-operator-7777fb866f-xfhs8_a0c0ab2f-639f-4892-80a8-d0ed090e6d5f/openshift-api/ 2025-10-01 14:18:39.355765 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-config-operator_openshift-config-operator-7777fb866f-xfhs8_a0c0ab2f-639f-4892-80a8-d0ed090e6d5f/openshift-api/0.log 2025-10-01 14:18:39.355799 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-config-operator_openshift-config-operator-7777fb866f-xfhs8_a0c0ab2f-639f-4892-80a8-d0ed090e6d5f/openshift-config-operator/ 2025-10-01 14:18:39.355825 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-config-operator_openshift-config-operator-7777fb866f-xfhs8_a0c0ab2f-639f-4892-80a8-d0ed090e6d5f/openshift-config-operator/0.log 2025-10-01 14:18:39.355850 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console-operator_console-operator-58897d9998-zmlhc_e9709232-51d8-4109-8153-43c567908267/ 2025-10-01 14:18:39.355873 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console-operator_console-operator-58897d9998-zmlhc_e9709232-51d8-4109-8153-43c567908267/console-operator/ 2025-10-01 14:18:39.355898 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console-operator_console-operator-58897d9998-zmlhc_e9709232-51d8-4109-8153-43c567908267/console-operator/0.log 2025-10-01 14:18:39.355922 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console_console-f9d7485db-r7bcf_16564c2c-07e2-4d6e-9f35-fd14654d1538/ 2025-10-01 14:18:39.355946 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console_console-f9d7485db-r7bcf_16564c2c-07e2-4d6e-9f35-fd14654d1538/console/ 2025-10-01 14:18:39.355969 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console_console-f9d7485db-r7bcf_16564c2c-07e2-4d6e-9f35-fd14654d1538/console/0.log 2025-10-01 14:18:39.355993 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console_downloads-7954f5f757-9f8ft_1c4215dd-b2d9-4617-9bc4-43536f0a06f6/ 2025-10-01 14:18:39.356017 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console_downloads-7954f5f757-9f8ft_1c4215dd-b2d9-4617-9bc4-43536f0a06f6/download-server/ 2025-10-01 14:18:39.356041 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console_downloads-7954f5f757-9f8ft_1c4215dd-b2d9-4617-9bc4-43536f0a06f6/download-server/0.log 2025-10-01 14:18:39.356065 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-controller-manager-operator_openshift-controller-manager-operator-756b6f6bc6-kjwcn_da7540b9-c6a0-41db-a094-486631000bdd/ 2025-10-01 14:18:39.356088 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-controller-manager-operator_openshift-controller-manager-operator-756b6f6bc6-kjwcn_da7540b9-c6a0-41db-a094-486631000bdd/openshift-controller-manager-operator/ 2025-10-01 14:18:39.356114 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-controller-manager-operator_openshift-controller-manager-operator-756b6f6bc6-kjwcn_da7540b9-c6a0-41db-a094-486631000bdd/openshift-controller-manager-operator/0.log 2025-10-01 14:18:39.356139 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-controller-manager_controller-manager-649bf84764-tr55v_81c5e12b-c6ae-4d12-b447-0f84dafd11b3/ 2025-10-01 14:18:39.356163 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-controller-manager_controller-manager-649bf84764-tr55v_81c5e12b-c6ae-4d12-b447-0f84dafd11b3/controller-manager/ 2025-10-01 14:18:39.356187 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-controller-manager_controller-manager-649bf84764-tr55v_81c5e12b-c6ae-4d12-b447-0f84dafd11b3/controller-manager/0.log 2025-10-01 14:18:39.356210 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns-operator_dns-operator-744455d44c-sfqhx_08c4a4cd-1564-42d3-a19f-0ef17b65d5be/ 2025-10-01 14:18:39.356233 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns-operator_dns-operator-744455d44c-sfqhx_08c4a4cd-1564-42d3-a19f-0ef17b65d5be/dns-operator/ 2025-10-01 14:18:39.356262 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns-operator_dns-operator-744455d44c-sfqhx_08c4a4cd-1564-42d3-a19f-0ef17b65d5be/dns-operator/0.log 2025-10-01 14:18:39.356286 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns-operator_dns-operator-744455d44c-sfqhx_08c4a4cd-1564-42d3-a19f-0ef17b65d5be/kube-rbac-proxy/ 2025-10-01 14:18:39.356309 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns-operator_dns-operator-744455d44c-sfqhx_08c4a4cd-1564-42d3-a19f-0ef17b65d5be/kube-rbac-proxy/0.log 2025-10-01 14:18:39.356331 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns_dns-default-kk6dj_03c4eff0-6afe-44eb-a9cd-1e2ab9ef2010/ 2025-10-01 14:18:39.356354 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns_dns-default-kk6dj_03c4eff0-6afe-44eb-a9cd-1e2ab9ef2010/dns/ 2025-10-01 14:18:39.356376 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns_dns-default-kk6dj_03c4eff0-6afe-44eb-a9cd-1e2ab9ef2010/dns/0.log 2025-10-01 14:18:39.356398 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns_dns-default-kk6dj_03c4eff0-6afe-44eb-a9cd-1e2ab9ef2010/kube-rbac-proxy/ 2025-10-01 14:18:39.356421 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns_dns-default-kk6dj_03c4eff0-6afe-44eb-a9cd-1e2ab9ef2010/kube-rbac-proxy/0.log 2025-10-01 14:18:39.356444 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns_node-resolver-679cg_8660d853-6a54-48f4-a6fd-275176a4bf1d/ 2025-10-01 14:18:39.356472 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns_node-resolver-679cg_8660d853-6a54-48f4-a6fd-275176a4bf1d/dns-node-resolver/ 2025-10-01 14:18:39.356509 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns_node-resolver-679cg_8660d853-6a54-48f4-a6fd-275176a4bf1d/dns-node-resolver/0.log 2025-10-01 14:18:39.356549 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd-operator_etcd-operator-b45778765-kjxqs_80b19e22-85f2-482d-b4f9-525df7772776/ 2025-10-01 14:18:39.356578 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd-operator_etcd-operator-b45778765-kjxqs_80b19e22-85f2-482d-b4f9-525df7772776/etcd-operator/ 2025-10-01 14:18:39.356602 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd-operator_etcd-operator-b45778765-kjxqs_80b19e22-85f2-482d-b4f9-525df7772776/etcd-operator/0.log 2025-10-01 14:18:39.356626 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/ 2025-10-01 14:18:39.356649 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-ensure-env-vars/ 2025-10-01 14:18:39.356673 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-ensure-env-vars/0.log 2025-10-01 14:18:39.356696 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-metrics/ 2025-10-01 14:18:39.356771 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-metrics/0.log 2025-10-01 14:18:39.356806 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-readyz/ 2025-10-01 14:18:39.356832 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-readyz/0.log 2025-10-01 14:18:39.356864 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-resources-copy/ 2025-10-01 14:18:39.356889 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-resources-copy/0.log 2025-10-01 14:18:39.356913 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-rev/ 2025-10-01 14:18:39.356936 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-rev/0.log 2025-10-01 14:18:39.356959 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd/ 2025-10-01 14:18:39.356984 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd/0.log 2025-10-01 14:18:39.357009 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcdctl/ 2025-10-01 14:18:39.357033 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcdctl/0.log 2025-10-01 14:18:39.357057 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/setup/ 2025-10-01 14:18:39.357082 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/setup/0.log 2025-10-01 14:18:39.357106 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_cluster-image-registry-operator-dc59b4c8b-wzdb5_7539887f-d1c5-417e-aaf3-669de74c241d/ 2025-10-01 14:18:39.357132 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_cluster-image-registry-operator-dc59b4c8b-wzdb5_7539887f-d1c5-417e-aaf3-669de74c241d/cluster-image-registry-operator/ 2025-10-01 14:18:39.357157 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_cluster-image-registry-operator-dc59b4c8b-wzdb5_7539887f-d1c5-417e-aaf3-669de74c241d/cluster-image-registry-operator/0.log 2025-10-01 14:18:39.357180 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_image-registry-66df7c8f76-7v4t6_6d2e5068-1118-446d-b53b-c65cba67675b/ 2025-10-01 14:18:39.357203 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_image-registry-66df7c8f76-7v4t6_6d2e5068-1118-446d-b53b-c65cba67675b/registry/ 2025-10-01 14:18:39.357227 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_image-registry-66df7c8f76-7v4t6_6d2e5068-1118-446d-b53b-c65cba67675b/registry/0.log 2025-10-01 14:18:39.357251 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_node-ca-96g6w_843edfe0-a47c-4ef9-9ec3-938d1605d348/ 2025-10-01 14:18:39.357275 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_node-ca-96g6w_843edfe0-a47c-4ef9-9ec3-938d1605d348/node-ca/ 2025-10-01 14:18:39.357298 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_node-ca-96g6w_843edfe0-a47c-4ef9-9ec3-938d1605d348/node-ca/0.log 2025-10-01 14:18:39.357320 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress-canary_ingress-canary-jr7t5_9fcafec0-e631-4583-b508-14b1bc9be3b6/ 2025-10-01 14:18:39.357344 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress-canary_ingress-canary-jr7t5_9fcafec0-e631-4583-b508-14b1bc9be3b6/serve-healthcheck-canary/ 2025-10-01 14:18:39.357373 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress-canary_ingress-canary-jr7t5_9fcafec0-e631-4583-b508-14b1bc9be3b6/serve-healthcheck-canary/0.log 2025-10-01 14:18:39.357398 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress-operator_ingress-operator-5b745b69d9-g4z9v_1ae865cc-0785-4017-9e04-be7d244b0493/ 2025-10-01 14:18:39.357421 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress-operator_ingress-operator-5b745b69d9-g4z9v_1ae865cc-0785-4017-9e04-be7d244b0493/ingress-operator/ 2025-10-01 14:18:39.357443 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress-operator_ingress-operator-5b745b69d9-g4z9v_1ae865cc-0785-4017-9e04-be7d244b0493/ingress-operator/0.log 2025-10-01 14:18:39.357465 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress-operator_ingress-operator-5b745b69d9-g4z9v_1ae865cc-0785-4017-9e04-be7d244b0493/kube-rbac-proxy/ 2025-10-01 14:18:39.357487 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress-operator_ingress-operator-5b745b69d9-g4z9v_1ae865cc-0785-4017-9e04-be7d244b0493/kube-rbac-proxy/0.log 2025-10-01 14:18:39.357510 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress_router-default-5444994796-8gh62_ed9c8df6-bd8f-4e4b-a4fd-ac0d26cf2823/ 2025-10-01 14:18:39.357533 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress_router-default-5444994796-8gh62_ed9c8df6-bd8f-4e4b-a4fd-ac0d26cf2823/router/ 2025-10-01 14:18:39.357555 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress_router-default-5444994796-8gh62_ed9c8df6-bd8f-4e4b-a4fd-ac0d26cf2823/router/0.log 2025-10-01 14:18:39.357582 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver-operator_kube-apiserver-operator-766d6c64bb-kgj6n_b19b5d90-1417-47fb-9c96-8558739656dc/ 2025-10-01 14:18:39.357617 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver-operator_kube-apiserver-operator-766d6c64bb-kgj6n_b19b5d90-1417-47fb-9c96-8558739656dc/kube-apiserver-operator/ 2025-10-01 14:18:39.357656 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver-operator_kube-apiserver-operator-766d6c64bb-kgj6n_b19b5d90-1417-47fb-9c96-8558739656dc/kube-apiserver-operator/0.log 2025-10-01 14:18:39.357688 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_f4b27818a5e8e43d0dc095d08835c792/ 2025-10-01 14:18:39.357713 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_f4b27818a5e8e43d0dc095d08835c792/kube-apiserver-cert-regeneration-controller/ 2025-10-01 14:18:39.357767 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_f4b27818a5e8e43d0dc095d08835c792/kube-apiserver-cert-regeneration-controller/0.log 2025-10-01 14:18:39.357793 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_f4b27818a5e8e43d0dc095d08835c792/kube-apiserver-cert-syncer/ 2025-10-01 14:18:39.357816 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_f4b27818a5e8e43d0dc095d08835c792/kube-apiserver-cert-syncer/0.log 2025-10-01 14:18:39.357839 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_f4b27818a5e8e43d0dc095d08835c792/kube-apiserver-check-endpoints/ 2025-10-01 14:18:39.357862 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_f4b27818a5e8e43d0dc095d08835c792/kube-apiserver-check-endpoints/0.log 2025-10-01 14:18:39.357892 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_f4b27818a5e8e43d0dc095d08835c792/kube-apiserver-check-endpoints/1.log 2025-10-01 14:18:39.357916 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_f4b27818a5e8e43d0dc095d08835c792/kube-apiserver-insecure-readyz/ 2025-10-01 14:18:39.357940 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_f4b27818a5e8e43d0dc095d08835c792/kube-apiserver-insecure-readyz/0.log 2025-10-01 14:18:39.357963 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_f4b27818a5e8e43d0dc095d08835c792/kube-apiserver/ 2025-10-01 14:18:39.357986 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_f4b27818a5e8e43d0dc095d08835c792/kube-apiserver/0.log 2025-10-01 14:18:39.358008 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_f4b27818a5e8e43d0dc095d08835c792/setup/ 2025-10-01 14:18:39.358031 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_f4b27818a5e8e43d0dc095d08835c792/setup/0.log 2025-10-01 14:18:39.358055 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_revision-pruner-8-crc_49d829f3-7369-4ca1-a2b4-d4463250496f/ 2025-10-01 14:18:39.358078 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_revision-pruner-8-crc_49d829f3-7369-4ca1-a2b4-d4463250496f/pruner/ 2025-10-01 14:18:39.358101 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_revision-pruner-8-crc_49d829f3-7369-4ca1-a2b4-d4463250496f/pruner/0.log 2025-10-01 14:18:39.358124 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager-operator_kube-controller-manager-operator-78b949d7b-2hz99_f7313744-98b0-4a56-bd19-280760be765f/ 2025-10-01 14:18:39.358146 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager-operator_kube-controller-manager-operator-78b949d7b-2hz99_f7313744-98b0-4a56-bd19-280760be765f/kube-controller-manager-operator/ 2025-10-01 14:18:39.358169 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager-operator_kube-controller-manager-operator-78b949d7b-2hz99_f7313744-98b0-4a56-bd19-280760be765f/kube-controller-manager-operator/0.log 2025-10-01 14:18:39.358193 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_kube-controller-manager-crc_f614b9022728cf315e60c057852e563e/ 2025-10-01 14:18:39.358215 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_kube-controller-manager-crc_f614b9022728cf315e60c057852e563e/cluster-policy-controller/ 2025-10-01 14:18:39.358238 | 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-10-01 14:18:39.358260 | 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-10-01 14:18:39.358284 | 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-10-01 14:18:39.358307 | 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-10-01 14:18:39.358336 | 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-10-01 14:18:39.358360 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_kube-controller-manager-crc_f614b9022728cf315e60c057852e563e/kube-controller-manager/ 2025-10-01 14:18:39.358382 | 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-10-01 14:18:39.358406 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_revision-pruner-9-crc_43108b2a-ea14-4eff-a9ed-e9600f1d9ae2/ 2025-10-01 14:18:39.358428 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_revision-pruner-9-crc_43108b2a-ea14-4eff-a9ed-e9600f1d9ae2/pruner/ 2025-10-01 14:18:39.358451 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_revision-pruner-9-crc_43108b2a-ea14-4eff-a9ed-e9600f1d9ae2/pruner/0.log 2025-10-01 14:18:39.358474 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler-operator_openshift-kube-scheduler-operator-5fdd9b5758-9vr5w_f6078b99-d5d2-48ce-89c7-163eca80ff85/ 2025-10-01 14:18:39.358498 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler-operator_openshift-kube-scheduler-operator-5fdd9b5758-9vr5w_f6078b99-d5d2-48ce-89c7-163eca80ff85/kube-scheduler-operator-container/ 2025-10-01 14:18:39.358522 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler-operator_openshift-kube-scheduler-operator-5fdd9b5758-9vr5w_f6078b99-d5d2-48ce-89c7-163eca80ff85/kube-scheduler-operator-container/0.log 2025-10-01 14:18:39.358546 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler_openshift-kube-scheduler-crc_3dcd261975c3d6b9a6ad6367fd4facd3/ 2025-10-01 14:18:39.358570 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler_openshift-kube-scheduler-crc_3dcd261975c3d6b9a6ad6367fd4facd3/kube-scheduler-cert-syncer/ 2025-10-01 14:18:39.358593 | 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-10-01 14:18:39.358617 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler_openshift-kube-scheduler-crc_3dcd261975c3d6b9a6ad6367fd4facd3/kube-scheduler-recovery-controller/ 2025-10-01 14:18:39.358641 | 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-10-01 14:18:39.358663 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler_openshift-kube-scheduler-crc_3dcd261975c3d6b9a6ad6367fd4facd3/kube-scheduler/ 2025-10-01 14:18:39.358687 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler_openshift-kube-scheduler-crc_3dcd261975c3d6b9a6ad6367fd4facd3/kube-scheduler/0.log 2025-10-01 14:18:39.358721 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler_openshift-kube-scheduler-crc_3dcd261975c3d6b9a6ad6367fd4facd3/wait-for-host-port/ 2025-10-01 14:18:39.358804 | 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-10-01 14:18:39.358841 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-storage-version-migrator-operator_kube-storage-version-migrator-operator-b67b599dd-6dcpv_36ad3550-2755-4d27-8cfb-11b0c82f1bb0/ 2025-10-01 14:18:39.358868 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-storage-version-migrator-operator_kube-storage-version-migrator-operator-b67b599dd-6dcpv_36ad3550-2755-4d27-8cfb-11b0c82f1bb0/kube-storage-version-migrator-operator/ 2025-10-01 14:18:39.358893 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-storage-version-migrator-operator_kube-storage-version-migrator-operator-b67b599dd-6dcpv_36ad3550-2755-4d27-8cfb-11b0c82f1bb0/kube-storage-version-migrator-operator/0.log 2025-10-01 14:18:39.358917 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-storage-version-migrator_migrator-59844c95c7-hcsr7_b719c2e8-d04c-4b7e-998c-643f5b166d13/ 2025-10-01 14:18:39.358940 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-storage-version-migrator_migrator-59844c95c7-hcsr7_b719c2e8-d04c-4b7e-998c-643f5b166d13/graceful-termination/ 2025-10-01 14:18:39.358963 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-storage-version-migrator_migrator-59844c95c7-hcsr7_b719c2e8-d04c-4b7e-998c-643f5b166d13/graceful-termination/0.log 2025-10-01 14:18:39.358987 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-storage-version-migrator_migrator-59844c95c7-hcsr7_b719c2e8-d04c-4b7e-998c-643f5b166d13/migrator/ 2025-10-01 14:18:39.359010 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-storage-version-migrator_migrator-59844c95c7-hcsr7_b719c2e8-d04c-4b7e-998c-643f5b166d13/migrator/0.log 2025-10-01 14:18:39.359035 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-api_control-plane-machine-set-operator-78cbb6b69f-zwfjn_91e70912-55cd-44d4-be6f-b6c637bec430/ 2025-10-01 14:18:39.359060 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-api_control-plane-machine-set-operator-78cbb6b69f-zwfjn_91e70912-55cd-44d4-be6f-b6c637bec430/control-plane-machine-set-operator/ 2025-10-01 14:18:39.359084 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-api_control-plane-machine-set-operator-78cbb6b69f-zwfjn_91e70912-55cd-44d4-be6f-b6c637bec430/control-plane-machine-set-operator/0.log 2025-10-01 14:18:39.359109 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-api_machine-api-operator-5694c8668f-r7crv_22f1d9a2-5cf9-43f9-bd4e-822382f55a7c/ 2025-10-01 14:18:39.359132 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-api_machine-api-operator-5694c8668f-r7crv_22f1d9a2-5cf9-43f9-bd4e-822382f55a7c/kube-rbac-proxy/ 2025-10-01 14:18:39.359156 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-api_machine-api-operator-5694c8668f-r7crv_22f1d9a2-5cf9-43f9-bd4e-822382f55a7c/kube-rbac-proxy/0.log 2025-10-01 14:18:39.359180 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-api_machine-api-operator-5694c8668f-r7crv_22f1d9a2-5cf9-43f9-bd4e-822382f55a7c/machine-api-operator/ 2025-10-01 14:18:39.359204 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-api_machine-api-operator-5694c8668f-r7crv_22f1d9a2-5cf9-43f9-bd4e-822382f55a7c/machine-api-operator/0.log 2025-10-01 14:18:39.359229 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_kube-rbac-proxy-crio-crc_d1b160f5dda77d281dd8e69ec8d817f9/ 2025-10-01 14:18:39.359253 | 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-10-01 14:18:39.359283 | 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-10-01 14:18:39.359307 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_kube-rbac-proxy-crio-crc_d1b160f5dda77d281dd8e69ec8d817f9/setup/ 2025-10-01 14:18:39.359332 | 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-10-01 14:18:39.359355 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-controller-84d6567774-z7j9r_00147e48-69ae-44af-8330-8cdf7618a470/ 2025-10-01 14:18:39.359377 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-controller-84d6567774-z7j9r_00147e48-69ae-44af-8330-8cdf7618a470/kube-rbac-proxy/ 2025-10-01 14:18:39.359400 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-controller-84d6567774-z7j9r_00147e48-69ae-44af-8330-8cdf7618a470/kube-rbac-proxy/0.log 2025-10-01 14:18:39.359422 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-controller-84d6567774-z7j9r_00147e48-69ae-44af-8330-8cdf7618a470/machine-config-controller/ 2025-10-01 14:18:39.359444 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-controller-84d6567774-z7j9r_00147e48-69ae-44af-8330-8cdf7618a470/machine-config-controller/0.log 2025-10-01 14:18:39.359466 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-daemon-74ttd_18618ab0-7244-42b3-9ccd-60661c89c742/ 2025-10-01 14:18:39.359488 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-daemon-74ttd_18618ab0-7244-42b3-9ccd-60661c89c742/kube-rbac-proxy/ 2025-10-01 14:18:39.359511 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-daemon-74ttd_18618ab0-7244-42b3-9ccd-60661c89c742/kube-rbac-proxy/0.log 2025-10-01 14:18:39.359533 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-daemon-74ttd_18618ab0-7244-42b3-9ccd-60661c89c742/machine-config-daemon/ 2025-10-01 14:18:39.359556 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-daemon-74ttd_18618ab0-7244-42b3-9ccd-60661c89c742/machine-config-daemon/9.log 2025-10-01 14:18:39.359578 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-operator-74547568cd-4gs6j_63a3d8f9-c505-4185-86fb-31eaf6c4cd72/ 2025-10-01 14:18:39.359600 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-operator-74547568cd-4gs6j_63a3d8f9-c505-4185-86fb-31eaf6c4cd72/kube-rbac-proxy/ 2025-10-01 14:18:39.359622 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-operator-74547568cd-4gs6j_63a3d8f9-c505-4185-86fb-31eaf6c4cd72/kube-rbac-proxy/0.log 2025-10-01 14:18:39.359644 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-operator-74547568cd-4gs6j_63a3d8f9-c505-4185-86fb-31eaf6c4cd72/machine-config-operator/ 2025-10-01 14:18:39.359666 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-operator-74547568cd-4gs6j_63a3d8f9-c505-4185-86fb-31eaf6c4cd72/machine-config-operator/0.log 2025-10-01 14:18:39.359694 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-server-lsczd_6737d9a0-288f-44bf-a67a-0a7cb37e89f9/ 2025-10-01 14:18:39.359717 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-server-lsczd_6737d9a0-288f-44bf-a67a-0a7cb37e89f9/machine-config-server/ 2025-10-01 14:18:39.359768 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-server-lsczd_6737d9a0-288f-44bf-a67a-0a7cb37e89f9/machine-config-server/0.log 2025-10-01 14:18:39.359792 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_certified-operators-pm5fh_374500ba-b989-44b3-bae2-1df03f16da01/ 2025-10-01 14:18:39.359824 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_certified-operators-pm5fh_374500ba-b989-44b3-bae2-1df03f16da01/extract-content/ 2025-10-01 14:18:39.359861 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_certified-operators-pm5fh_374500ba-b989-44b3-bae2-1df03f16da01/extract-content/0.log 2025-10-01 14:18:39.359899 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_certified-operators-pm5fh_374500ba-b989-44b3-bae2-1df03f16da01/extract-utilities/ 2025-10-01 14:18:39.359926 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_certified-operators-pm5fh_374500ba-b989-44b3-bae2-1df03f16da01/extract-utilities/0.log 2025-10-01 14:18:39.359949 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_certified-operators-pm5fh_374500ba-b989-44b3-bae2-1df03f16da01/registry-server/ 2025-10-01 14:18:39.359972 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_certified-operators-pm5fh_374500ba-b989-44b3-bae2-1df03f16da01/registry-server/0.log.gz 2025-10-01 14:18:39.359995 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_community-operators-wrzqd_a7665b71-d4e4-4a6a-88dd-a17afc725e54/ 2025-10-01 14:18:39.360018 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_community-operators-wrzqd_a7665b71-d4e4-4a6a-88dd-a17afc725e54/extract-content/ 2025-10-01 14:18:39.360040 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_community-operators-wrzqd_a7665b71-d4e4-4a6a-88dd-a17afc725e54/extract-content/0.log 2025-10-01 14:18:39.360063 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_community-operators-wrzqd_a7665b71-d4e4-4a6a-88dd-a17afc725e54/extract-utilities/ 2025-10-01 14:18:39.360085 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_community-operators-wrzqd_a7665b71-d4e4-4a6a-88dd-a17afc725e54/extract-utilities/0.log 2025-10-01 14:18:39.360107 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_community-operators-wrzqd_a7665b71-d4e4-4a6a-88dd-a17afc725e54/registry-server/ 2025-10-01 14:18:39.360129 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_community-operators-wrzqd_a7665b71-d4e4-4a6a-88dd-a17afc725e54/registry-server/0.log.gz 2025-10-01 14:18:39.360152 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_f29efc416ca216184f30dbb4b19e0f463bdcecc8ef634322abbad88d96k695t_2b9dc4bd-2e62-460b-b85d-f48db06a198f/ 2025-10-01 14:18:39.360174 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_f29efc416ca216184f30dbb4b19e0f463bdcecc8ef634322abbad88d96k695t_2b9dc4bd-2e62-460b-b85d-f48db06a198f/extract/ 2025-10-01 14:18:39.360205 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_f29efc416ca216184f30dbb4b19e0f463bdcecc8ef634322abbad88d96k695t_2b9dc4bd-2e62-460b-b85d-f48db06a198f/extract/0.log 2025-10-01 14:18:39.360230 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_f29efc416ca216184f30dbb4b19e0f463bdcecc8ef634322abbad88d96k695t_2b9dc4bd-2e62-460b-b85d-f48db06a198f/pull/ 2025-10-01 14:18:39.360254 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_f29efc416ca216184f30dbb4b19e0f463bdcecc8ef634322abbad88d96k695t_2b9dc4bd-2e62-460b-b85d-f48db06a198f/pull/0.log 2025-10-01 14:18:39.360276 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_f29efc416ca216184f30dbb4b19e0f463bdcecc8ef634322abbad88d96k695t_2b9dc4bd-2e62-460b-b85d-f48db06a198f/util/ 2025-10-01 14:18:39.360298 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_f29efc416ca216184f30dbb4b19e0f463bdcecc8ef634322abbad88d96k695t_2b9dc4bd-2e62-460b-b85d-f48db06a198f/util/0.log 2025-10-01 14:18:39.360321 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_marketplace-operator-79b997595-zndj2_3115994a-f7c2-410d-957b-0b08edee5125/ 2025-10-01 14:18:39.360344 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_marketplace-operator-79b997595-zndj2_3115994a-f7c2-410d-957b-0b08edee5125/marketplace-operator/ 2025-10-01 14:18:39.360367 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_marketplace-operator-79b997595-zndj2_3115994a-f7c2-410d-957b-0b08edee5125/marketplace-operator/0.log 2025-10-01 14:18:39.360390 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-marketplace-c9bgd_1fd81359-4e78-4195-958e-f6a4e859cf2c/ 2025-10-01 14:18:39.360413 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-marketplace-c9bgd_1fd81359-4e78-4195-958e-f6a4e859cf2c/extract-content/ 2025-10-01 14:18:39.360436 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-marketplace-c9bgd_1fd81359-4e78-4195-958e-f6a4e859cf2c/extract-content/0.log 2025-10-01 14:18:39.360458 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-marketplace-c9bgd_1fd81359-4e78-4195-958e-f6a4e859cf2c/extract-utilities/ 2025-10-01 14:18:39.360480 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-marketplace-c9bgd_1fd81359-4e78-4195-958e-f6a4e859cf2c/extract-utilities/0.log 2025-10-01 14:18:39.360502 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-marketplace-c9bgd_1fd81359-4e78-4195-958e-f6a4e859cf2c/registry-server/ 2025-10-01 14:18:39.360524 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-marketplace-c9bgd_1fd81359-4e78-4195-958e-f6a4e859cf2c/registry-server/0.log 2025-10-01 14:18:39.360546 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-cvpbg_a1970618-5299-4a91-a1c7-d767f8ed21d9/ 2025-10-01 14:18:39.360569 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-cvpbg_a1970618-5299-4a91-a1c7-d767f8ed21d9/extract-content/ 2025-10-01 14:18:39.360591 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-cvpbg_a1970618-5299-4a91-a1c7-d767f8ed21d9/extract-content/0.log 2025-10-01 14:18:39.360612 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-cvpbg_a1970618-5299-4a91-a1c7-d767f8ed21d9/extract-utilities/ 2025-10-01 14:18:39.360640 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-cvpbg_a1970618-5299-4a91-a1c7-d767f8ed21d9/extract-utilities/0.log 2025-10-01 14:18:39.360663 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-cvpbg_a1970618-5299-4a91-a1c7-d767f8ed21d9/registry-server/ 2025-10-01 14:18:39.360685 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-cvpbg_a1970618-5299-4a91-a1c7-d767f8ed21d9/registry-server/0.log.gz 2025-10-01 14:18:39.360707 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-8svls_be8a0f8f-0098-4fa6-b4b2-ceda580f19b5/ 2025-10-01 14:18:39.360791 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-8svls_be8a0f8f-0098-4fa6-b4b2-ceda580f19b5/kube-multus/ 2025-10-01 14:18:39.360821 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-8svls_be8a0f8f-0098-4fa6-b4b2-ceda580f19b5/kube-multus/2.log 2025-10-01 14:18:39.360847 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-8svls_be8a0f8f-0098-4fa6-b4b2-ceda580f19b5/kube-multus/3.log 2025-10-01 14:18:39.360870 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-h5t2l_f6c2cbe4-dd67-4f5c-8f47-3d8986219793/ 2025-10-01 14:18:39.360893 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-h5t2l_f6c2cbe4-dd67-4f5c-8f47-3d8986219793/bond-cni-plugin/ 2025-10-01 14:18:39.360917 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-h5t2l_f6c2cbe4-dd67-4f5c-8f47-3d8986219793/bond-cni-plugin/0.log 2025-10-01 14:18:39.360950 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-h5t2l_f6c2cbe4-dd67-4f5c-8f47-3d8986219793/cni-plugins/ 2025-10-01 14:18:39.361067 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-h5t2l_f6c2cbe4-dd67-4f5c-8f47-3d8986219793/cni-plugins/0.log 2025-10-01 14:18:39.361107 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-h5t2l_f6c2cbe4-dd67-4f5c-8f47-3d8986219793/egress-router-binary-copy/ 2025-10-01 14:18:39.361134 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-h5t2l_f6c2cbe4-dd67-4f5c-8f47-3d8986219793/egress-router-binary-copy/0.log 2025-10-01 14:18:39.361157 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-h5t2l_f6c2cbe4-dd67-4f5c-8f47-3d8986219793/kube-multus-additional-cni-plugins/ 2025-10-01 14:18:39.361180 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-h5t2l_f6c2cbe4-dd67-4f5c-8f47-3d8986219793/kube-multus-additional-cni-plugins/0.log 2025-10-01 14:18:39.361203 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-h5t2l_f6c2cbe4-dd67-4f5c-8f47-3d8986219793/routeoverride-cni/ 2025-10-01 14:18:39.361225 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-h5t2l_f6c2cbe4-dd67-4f5c-8f47-3d8986219793/routeoverride-cni/0.log 2025-10-01 14:18:39.361247 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-h5t2l_f6c2cbe4-dd67-4f5c-8f47-3d8986219793/whereabouts-cni-bincopy/ 2025-10-01 14:18:39.361270 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-h5t2l_f6c2cbe4-dd67-4f5c-8f47-3d8986219793/whereabouts-cni-bincopy/0.log 2025-10-01 14:18:39.361303 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-h5t2l_f6c2cbe4-dd67-4f5c-8f47-3d8986219793/whereabouts-cni/ 2025-10-01 14:18:39.361326 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-h5t2l_f6c2cbe4-dd67-4f5c-8f47-3d8986219793/whereabouts-cni/0.log 2025-10-01 14:18:39.361348 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-admission-controller-857f4d67dd-j4nkp_2539b1bd-ceb0-4918-a20c-56775bc1bb17/ 2025-10-01 14:18:39.361370 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-admission-controller-857f4d67dd-j4nkp_2539b1bd-ceb0-4918-a20c-56775bc1bb17/kube-rbac-proxy/ 2025-10-01 14:18:39.361393 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-admission-controller-857f4d67dd-j4nkp_2539b1bd-ceb0-4918-a20c-56775bc1bb17/kube-rbac-proxy/0.log 2025-10-01 14:18:39.361415 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-admission-controller-857f4d67dd-j4nkp_2539b1bd-ceb0-4918-a20c-56775bc1bb17/multus-admission-controller/ 2025-10-01 14:18:39.361437 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-admission-controller-857f4d67dd-j4nkp_2539b1bd-ceb0-4918-a20c-56775bc1bb17/multus-admission-controller/0.log 2025-10-01 14:18:39.361460 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_network-metrics-daemon-hgfsz_67555194-dc73-4f0a-bd6e-1ae0a010067a/ 2025-10-01 14:18:39.361482 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_network-metrics-daemon-hgfsz_67555194-dc73-4f0a-bd6e-1ae0a010067a/kube-rbac-proxy/ 2025-10-01 14:18:39.361504 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_network-metrics-daemon-hgfsz_67555194-dc73-4f0a-bd6e-1ae0a010067a/kube-rbac-proxy/0.log 2025-10-01 14:18:39.361526 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_network-metrics-daemon-hgfsz_67555194-dc73-4f0a-bd6e-1ae0a010067a/network-metrics-daemon/ 2025-10-01 14:18:39.361548 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_network-metrics-daemon-hgfsz_67555194-dc73-4f0a-bd6e-1ae0a010067a/network-metrics-daemon/0.log 2025-10-01 14:18:39.361570 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-must-gather-kpntp_must-gather-jjm5w_e0e3def3-e253-47b3-a14d-6e3688e79870/ 2025-10-01 14:18:39.361592 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-must-gather-kpntp_must-gather-jjm5w_e0e3def3-e253-47b3-a14d-6e3688e79870/copy/ 2025-10-01 14:18:39.361615 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-must-gather-kpntp_must-gather-jjm5w_e0e3def3-e253-47b3-a14d-6e3688e79870/copy/0.log 2025-10-01 14:18:39.361637 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-must-gather-kpntp_must-gather-jjm5w_e0e3def3-e253-47b3-a14d-6e3688e79870/gather/ 2025-10-01 14:18:39.361659 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-must-gather-kpntp_must-gather-jjm5w_e0e3def3-e253-47b3-a14d-6e3688e79870/gather/0.log 2025-10-01 14:18:39.361681 | 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-10-01 14:18:39.361703 | 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-10-01 14:18:39.361757 | 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-10-01 14:18:39.361846 | 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-10-01 14:18:39.361872 | 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-10-01 14:18:39.361895 | 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-10-01 14:18:39.361918 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-diagnostics_network-check-target-xd92c_3b6479f0-333b-4a96-9adf-2099afdc2447/ 2025-10-01 14:18:39.361940 | 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-10-01 14:18:39.361963 | 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-10-01 14:18:39.361984 | 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-10-01 14:18:39.362006 | 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-10-01 14:18:39.362030 | 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-10-01 14:18:39.362063 | 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-10-01 14:18:39.362100 | 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-10-01 14:18:39.362137 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-operator_iptables-alerter-4ln5h_d75a4c96-2883-4a0b-bab2-0fab2b6c0b49/ 2025-10-01 14:18:39.362163 | 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-10-01 14:18:39.362188 | 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-10-01 14:18:39.362211 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-operator_network-operator-58b4c7f79c-55gtf_37a5e44f-9a88-4405-be8a-b645485e7312/ 2025-10-01 14:18:39.362235 | 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-10-01 14:18:39.362260 | 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-10-01 14:18:39.362284 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-oauth-apiserver_apiserver-7bbb656c7d-vnt9h_b69e1571-8ffe-4425-917c-bb7021c3c74b/ 2025-10-01 14:18:39.362317 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-oauth-apiserver_apiserver-7bbb656c7d-vnt9h_b69e1571-8ffe-4425-917c-bb7021c3c74b/fix-audit-permissions/ 2025-10-01 14:18:39.362343 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-oauth-apiserver_apiserver-7bbb656c7d-vnt9h_b69e1571-8ffe-4425-917c-bb7021c3c74b/fix-audit-permissions/0.log 2025-10-01 14:18:39.362365 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-oauth-apiserver_apiserver-7bbb656c7d-vnt9h_b69e1571-8ffe-4425-917c-bb7021c3c74b/oauth-apiserver/ 2025-10-01 14:18:39.362388 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-oauth-apiserver_apiserver-7bbb656c7d-vnt9h_b69e1571-8ffe-4425-917c-bb7021c3c74b/oauth-apiserver/0.log 2025-10-01 14:18:39.362410 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_catalog-operator-68c6474976-vtvsl_2aeefd1c-f8aa-483d-bf3e-424600e9557e/ 2025-10-01 14:18:39.362432 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_catalog-operator-68c6474976-vtvsl_2aeefd1c-f8aa-483d-bf3e-424600e9557e/catalog-operator/ 2025-10-01 14:18:39.362454 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_catalog-operator-68c6474976-vtvsl_2aeefd1c-f8aa-483d-bf3e-424600e9557e/catalog-operator/0.log 2025-10-01 14:18:39.362587 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_collect-profiles-29322105-mzd2j_63f53406-b105-4266-97d6-9b886f9052f9/ 2025-10-01 14:18:39.362622 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_collect-profiles-29322105-mzd2j_63f53406-b105-4266-97d6-9b886f9052f9/collect-profiles/ 2025-10-01 14:18:39.362844 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_collect-profiles-29322105-mzd2j_63f53406-b105-4266-97d6-9b886f9052f9/collect-profiles/0.log 2025-10-01 14:18:39.362886 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_collect-profiles-29322120-p55ht_427902e9-1bd7-4691-9b45-05094bffa63f/ 2025-10-01 14:18:39.362915 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_collect-profiles-29322120-p55ht_427902e9-1bd7-4691-9b45-05094bffa63f/collect-profiles/ 2025-10-01 14:18:39.362940 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_collect-profiles-29322120-p55ht_427902e9-1bd7-4691-9b45-05094bffa63f/collect-profiles/0.log 2025-10-01 14:18:39.362964 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_collect-profiles-29322135-f7xrh_40ed497a-4644-41c1-b041-b5fa8d95b5de/ 2025-10-01 14:18:39.362988 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_collect-profiles-29322135-f7xrh_40ed497a-4644-41c1-b041-b5fa8d95b5de/collect-profiles/ 2025-10-01 14:18:39.363011 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_collect-profiles-29322135-f7xrh_40ed497a-4644-41c1-b041-b5fa8d95b5de/collect-profiles/0.log 2025-10-01 14:18:39.363034 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_olm-operator-6b444d44fb-9ljx9_d7b8192d-4515-4ac3-a253-b245bb57c64e/ 2025-10-01 14:18:39.363057 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_olm-operator-6b444d44fb-9ljx9_d7b8192d-4515-4ac3-a253-b245bb57c64e/olm-operator/ 2025-10-01 14:18:39.363088 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_olm-operator-6b444d44fb-9ljx9_d7b8192d-4515-4ac3-a253-b245bb57c64e/olm-operator/0.log 2025-10-01 14:18:39.363113 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_package-server-manager-789f6589d5-gd5zm_8b019ae2-a243-4cd5-bc3b-b0428c74df07/ 2025-10-01 14:18:39.363137 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_package-server-manager-789f6589d5-gd5zm_8b019ae2-a243-4cd5-bc3b-b0428c74df07/kube-rbac-proxy/ 2025-10-01 14:18:39.363168 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_package-server-manager-789f6589d5-gd5zm_8b019ae2-a243-4cd5-bc3b-b0428c74df07/kube-rbac-proxy/0.log 2025-10-01 14:18:39.363204 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_package-server-manager-789f6589d5-gd5zm_8b019ae2-a243-4cd5-bc3b-b0428c74df07/package-server-manager/ 2025-10-01 14:18:39.363245 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_package-server-manager-789f6589d5-gd5zm_8b019ae2-a243-4cd5-bc3b-b0428c74df07/package-server-manager/0.log 2025-10-01 14:18:39.363276 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_packageserver-d55dfcdfc-4fcb5_26f66ad2-cd4c-4352-a060-f115420788ab/ 2025-10-01 14:18:39.363302 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_packageserver-d55dfcdfc-4fcb5_26f66ad2-cd4c-4352-a060-f115420788ab/packageserver/ 2025-10-01 14:18:39.363326 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_packageserver-d55dfcdfc-4fcb5_26f66ad2-cd4c-4352-a060-f115420788ab/packageserver/0.log 2025-10-01 14:18:39.363350 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-control-plane-749d76644c-hvkld_55a90eeb-9a46-4083-9c5e-4313773da697/ 2025-10-01 14:18:39.363373 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-control-plane-749d76644c-hvkld_55a90eeb-9a46-4083-9c5e-4313773da697/kube-rbac-proxy/ 2025-10-01 14:18:39.363396 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-control-plane-749d76644c-hvkld_55a90eeb-9a46-4083-9c5e-4313773da697/kube-rbac-proxy/0.log 2025-10-01 14:18:39.363419 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-control-plane-749d76644c-hvkld_55a90eeb-9a46-4083-9c5e-4313773da697/ovnkube-cluster-manager/ 2025-10-01 14:18:39.363541 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-control-plane-749d76644c-hvkld_55a90eeb-9a46-4083-9c5e-4313773da697/ovnkube-cluster-manager/0.log 2025-10-01 14:18:39.363586 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-hv4k6_29d15a14-6a96-472c-bd6b-f1be65afff3f/ 2025-10-01 14:18:39.363613 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-hv4k6_29d15a14-6a96-472c-bd6b-f1be65afff3f/kube-rbac-proxy-node/ 2025-10-01 14:18:39.363639 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-hv4k6_29d15a14-6a96-472c-bd6b-f1be65afff3f/kube-rbac-proxy-node/0.log 2025-10-01 14:18:39.363663 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-hv4k6_29d15a14-6a96-472c-bd6b-f1be65afff3f/kube-rbac-proxy-ovn-metrics/ 2025-10-01 14:18:39.363686 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-hv4k6_29d15a14-6a96-472c-bd6b-f1be65afff3f/kube-rbac-proxy-ovn-metrics/0.log 2025-10-01 14:18:39.363718 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-hv4k6_29d15a14-6a96-472c-bd6b-f1be65afff3f/kubecfg-setup/ 2025-10-01 14:18:39.363770 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-hv4k6_29d15a14-6a96-472c-bd6b-f1be65afff3f/kubecfg-setup/0.log 2025-10-01 14:18:39.363796 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-hv4k6_29d15a14-6a96-472c-bd6b-f1be65afff3f/nbdb/ 2025-10-01 14:18:39.363820 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-hv4k6_29d15a14-6a96-472c-bd6b-f1be65afff3f/nbdb/0.log 2025-10-01 14:18:39.363843 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-hv4k6_29d15a14-6a96-472c-bd6b-f1be65afff3f/northd/ 2025-10-01 14:18:39.363866 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-hv4k6_29d15a14-6a96-472c-bd6b-f1be65afff3f/northd/0.log 2025-10-01 14:18:39.363891 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-hv4k6_29d15a14-6a96-472c-bd6b-f1be65afff3f/ovn-acl-logging/ 2025-10-01 14:18:39.363914 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-hv4k6_29d15a14-6a96-472c-bd6b-f1be65afff3f/ovn-acl-logging/0.log 2025-10-01 14:18:39.363936 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-hv4k6_29d15a14-6a96-472c-bd6b-f1be65afff3f/ovn-controller/ 2025-10-01 14:18:39.363959 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-hv4k6_29d15a14-6a96-472c-bd6b-f1be65afff3f/ovn-controller/0.log 2025-10-01 14:18:39.363981 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-hv4k6_29d15a14-6a96-472c-bd6b-f1be65afff3f/ovnkube-controller/ 2025-10-01 14:18:39.364004 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-hv4k6_29d15a14-6a96-472c-bd6b-f1be65afff3f/ovnkube-controller/0.log.gz 2025-10-01 14:18:39.364027 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-hv4k6_29d15a14-6a96-472c-bd6b-f1be65afff3f/sbdb/ 2025-10-01 14:18:39.364050 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-hv4k6_29d15a14-6a96-472c-bd6b-f1be65afff3f/sbdb/0.log 2025-10-01 14:18:39.364073 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-route-controller-manager_route-controller-manager-79596b6886-phfsn_a1bc5ca1-25ca-4611-8f63-35a776b093cf/ 2025-10-01 14:18:39.364096 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-route-controller-manager_route-controller-manager-79596b6886-phfsn_a1bc5ca1-25ca-4611-8f63-35a776b093cf/route-controller-manager/ 2025-10-01 14:18:39.364118 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-route-controller-manager_route-controller-manager-79596b6886-phfsn_a1bc5ca1-25ca-4611-8f63-35a776b093cf/route-controller-manager/0.log 2025-10-01 14:18:39.364141 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-service-ca-operator_service-ca-operator-777779d784-m5w5f_e558dddd-0d3c-46a2-aa57-33227ff3054d/ 2025-10-01 14:18:39.364163 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-service-ca-operator_service-ca-operator-777779d784-m5w5f_e558dddd-0d3c-46a2-aa57-33227ff3054d/service-ca-operator/ 2025-10-01 14:18:39.364194 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-service-ca-operator_service-ca-operator-777779d784-m5w5f_e558dddd-0d3c-46a2-aa57-33227ff3054d/service-ca-operator/0.log 2025-10-01 14:18:39.364217 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-service-ca_service-ca-9c57cc56f-xsqjd_ea9fe5ef-1a76-4ef3-83d9-d6169a4cc868/ 2025-10-01 14:18:39.364241 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-service-ca_service-ca-9c57cc56f-xsqjd_ea9fe5ef-1a76-4ef3-83d9-d6169a4cc868/service-ca-controller/ 2025-10-01 14:18:39.364263 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-service-ca_service-ca-9c57cc56f-xsqjd_ea9fe5ef-1a76-4ef3-83d9-d6169a4cc868/service-ca-controller/0.log 2025-10-01 14:18:39.364295 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_1fe17e290923827dd9fb37b3e81441463184703be1419d7456093e6c7expsb5_6a01fafe-bffc-4df2-93bc-43dbc2c424ff/ 2025-10-01 14:18:39.364331 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_1fe17e290923827dd9fb37b3e81441463184703be1419d7456093e6c7expsb5_6a01fafe-bffc-4df2-93bc-43dbc2c424ff/extract/ 2025-10-01 14:18:39.364371 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_1fe17e290923827dd9fb37b3e81441463184703be1419d7456093e6c7expsb5_6a01fafe-bffc-4df2-93bc-43dbc2c424ff/extract/0.log 2025-10-01 14:18:39.364406 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_1fe17e290923827dd9fb37b3e81441463184703be1419d7456093e6c7expsb5_6a01fafe-bffc-4df2-93bc-43dbc2c424ff/pull/ 2025-10-01 14:18:39.364435 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_1fe17e290923827dd9fb37b3e81441463184703be1419d7456093e6c7expsb5_6a01fafe-bffc-4df2-93bc-43dbc2c424ff/pull/0.log 2025-10-01 14:18:39.364459 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_1fe17e290923827dd9fb37b3e81441463184703be1419d7456093e6c7expsb5_6a01fafe-bffc-4df2-93bc-43dbc2c424ff/util/ 2025-10-01 14:18:39.364483 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_1fe17e290923827dd9fb37b3e81441463184703be1419d7456093e6c7expsb5_6a01fafe-bffc-4df2-93bc-43dbc2c424ff/util/0.log 2025-10-01 14:18:39.364507 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5909v9jg_64e22a11-410d-4091-bee5-f6d2ab9baa83/ 2025-10-01 14:18:39.364531 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5909v9jg_64e22a11-410d-4091-bee5-f6d2ab9baa83/extract/ 2025-10-01 14:18:39.364554 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5909v9jg_64e22a11-410d-4091-bee5-f6d2ab9baa83/extract/0.log 2025-10-01 14:18:39.364577 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5909v9jg_64e22a11-410d-4091-bee5-f6d2ab9baa83/pull/ 2025-10-01 14:18:39.364600 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5909v9jg_64e22a11-410d-4091-bee5-f6d2ab9baa83/pull/0.log 2025-10-01 14:18:39.364623 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5909v9jg_64e22a11-410d-4091-bee5-f6d2ab9baa83/util/ 2025-10-01 14:18:39.364646 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5909v9jg_64e22a11-410d-4091-bee5-f6d2ab9baa83/util/0.log 2025-10-01 14:18:39.364677 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_e7e08b4ef4c4210da6849e65893e25f02a2f1e5ad24c8e4d88ab10670f4zdfq_a72155a5-47d5-48da-9b7c-e5b36d579a9d/ 2025-10-01 14:18:39.364701 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_e7e08b4ef4c4210da6849e65893e25f02a2f1e5ad24c8e4d88ab10670f4zdfq_a72155a5-47d5-48da-9b7c-e5b36d579a9d/extract/ 2025-10-01 14:18:39.364785 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_e7e08b4ef4c4210da6849e65893e25f02a2f1e5ad24c8e4d88ab10670f4zdfq_a72155a5-47d5-48da-9b7c-e5b36d579a9d/extract/0.log 2025-10-01 14:18:39.364814 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_e7e08b4ef4c4210da6849e65893e25f02a2f1e5ad24c8e4d88ab10670f4zdfq_a72155a5-47d5-48da-9b7c-e5b36d579a9d/pull/ 2025-10-01 14:18:39.364840 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_e7e08b4ef4c4210da6849e65893e25f02a2f1e5ad24c8e4d88ab10670f4zdfq_a72155a5-47d5-48da-9b7c-e5b36d579a9d/pull/0.log 2025-10-01 14:18:39.364864 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_e7e08b4ef4c4210da6849e65893e25f02a2f1e5ad24c8e4d88ab10670f4zdfq_a72155a5-47d5-48da-9b7c-e5b36d579a9d/util/ 2025-10-01 14:18:39.364887 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_e7e08b4ef4c4210da6849e65893e25f02a2f1e5ad24c8e4d88ab10670f4zdfq_a72155a5-47d5-48da-9b7c-e5b36d579a9d/util/0.log 2025-10-01 14:18:39.364910 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_fe5824c023aabbb502546c854372a2e601abaa9e5f2db222166b4342b0ctqk7_0ce70e53-d2d6-45ca-a7f8-ff0c5803c2bf/ 2025-10-01 14:18:39.364933 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_fe5824c023aabbb502546c854372a2e601abaa9e5f2db222166b4342b0ctqk7_0ce70e53-d2d6-45ca-a7f8-ff0c5803c2bf/extract/ 2025-10-01 14:18:39.364956 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_fe5824c023aabbb502546c854372a2e601abaa9e5f2db222166b4342b0ctqk7_0ce70e53-d2d6-45ca-a7f8-ff0c5803c2bf/extract/0.log 2025-10-01 14:18:39.364981 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_fe5824c023aabbb502546c854372a2e601abaa9e5f2db222166b4342b0ctqk7_0ce70e53-d2d6-45ca-a7f8-ff0c5803c2bf/pull/ 2025-10-01 14:18:39.365004 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_fe5824c023aabbb502546c854372a2e601abaa9e5f2db222166b4342b0ctqk7_0ce70e53-d2d6-45ca-a7f8-ff0c5803c2bf/pull/0.log 2025-10-01 14:18:39.365027 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_fe5824c023aabbb502546c854372a2e601abaa9e5f2db222166b4342b0ctqk7_0ce70e53-d2d6-45ca-a7f8-ff0c5803c2bf/util/ 2025-10-01 14:18:39.365049 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_fe5824c023aabbb502546c854372a2e601abaa9e5f2db222166b4342b0ctqk7_0ce70e53-d2d6-45ca-a7f8-ff0c5803c2bf/util/0.log 2025-10-01 14:18:39.365071 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_infra-operator-controller-manager-6dc4785855-lh6lt_c2f00bec-2d63-49db-94dc-82a40bd0857c/ 2025-10-01 14:18:39.365094 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_infra-operator-controller-manager-6dc4785855-lh6lt_c2f00bec-2d63-49db-94dc-82a40bd0857c/kube-rbac-proxy/ 2025-10-01 14:18:39.365116 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_infra-operator-controller-manager-6dc4785855-lh6lt_c2f00bec-2d63-49db-94dc-82a40bd0857c/kube-rbac-proxy/0.log 2025-10-01 14:18:39.365140 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_infra-operator-controller-manager-6dc4785855-lh6lt_c2f00bec-2d63-49db-94dc-82a40bd0857c/manager/ 2025-10-01 14:18:39.365274 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_infra-operator-controller-manager-6dc4785855-lh6lt_c2f00bec-2d63-49db-94dc-82a40bd0857c/manager/0.log 2025-10-01 14:18:39.365307 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_infra-operator-index-7cfsk_6d988a79-de91-4635-b12e-5bd8b0705e36/ 2025-10-01 14:18:39.365332 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_infra-operator-index-7cfsk_6d988a79-de91-4635-b12e-5bd8b0705e36/registry-server/ 2025-10-01 14:18:39.365356 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_infra-operator-index-7cfsk_6d988a79-de91-4635-b12e-5bd8b0705e36/registry-server/0.log 2025-10-01 14:18:39.365379 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_keystone-operator-controller-manager-7d9d9bb4b5-fr745_fe84b77c-3e6a-4244-8ef5-c6747459fabc/ 2025-10-01 14:18:39.365406 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_keystone-operator-controller-manager-7d9d9bb4b5-fr745_fe84b77c-3e6a-4244-8ef5-c6747459fabc/kube-rbac-proxy/ 2025-10-01 14:18:39.365442 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_keystone-operator-controller-manager-7d9d9bb4b5-fr745_fe84b77c-3e6a-4244-8ef5-c6747459fabc/kube-rbac-proxy/0.log 2025-10-01 14:18:39.365481 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_keystone-operator-controller-manager-7d9d9bb4b5-fr745_fe84b77c-3e6a-4244-8ef5-c6747459fabc/manager/ 2025-10-01 14:18:39.365516 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_keystone-operator-controller-manager-7d9d9bb4b5-fr745_fe84b77c-3e6a-4244-8ef5-c6747459fabc/manager/6.log 2025-10-01 14:18:39.365541 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_keystone-operator-index-z58lt_bcac7839-f573-479d-8139-21163dd1fd20/ 2025-10-01 14:18:39.365564 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_keystone-operator-index-z58lt_bcac7839-f573-479d-8139-21163dd1fd20/registry-server/ 2025-10-01 14:18:39.365589 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_keystone-operator-index-z58lt_bcac7839-f573-479d-8139-21163dd1fd20/registry-server/0.log 2025-10-01 14:18:39.365612 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_mariadb-operator-controller-manager-566896bb75-2m2bz_479f4868-5316-4fbf-bb7e-dd89de941340/ 2025-10-01 14:18:39.365635 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_mariadb-operator-controller-manager-566896bb75-2m2bz_479f4868-5316-4fbf-bb7e-dd89de941340/kube-rbac-proxy/ 2025-10-01 14:18:39.365657 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_mariadb-operator-controller-manager-566896bb75-2m2bz_479f4868-5316-4fbf-bb7e-dd89de941340/kube-rbac-proxy/0.log 2025-10-01 14:18:39.365680 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_mariadb-operator-controller-manager-566896bb75-2m2bz_479f4868-5316-4fbf-bb7e-dd89de941340/manager/ 2025-10-01 14:18:39.365702 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_mariadb-operator-controller-manager-566896bb75-2m2bz_479f4868-5316-4fbf-bb7e-dd89de941340/manager/0.log 2025-10-01 14:18:39.365748 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_mariadb-operator-index-2wbpw_e2809b6a-b3bf-475f-8d9c-1f8609109e17/ 2025-10-01 14:18:39.365786 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_mariadb-operator-index-2wbpw_e2809b6a-b3bf-475f-8d9c-1f8609109e17/registry-server/ 2025-10-01 14:18:39.365812 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_mariadb-operator-index-2wbpw_e2809b6a-b3bf-475f-8d9c-1f8609109e17/registry-server/0.log 2025-10-01 14:18:39.365832 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_rabbitmq-cluster-operator-779fc9694b-d2hdg_0a1bac53-f36d-4a76-a0c6-b19a17eb25f4/ 2025-10-01 14:18:39.365850 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_rabbitmq-cluster-operator-779fc9694b-d2hdg_0a1bac53-f36d-4a76-a0c6-b19a17eb25f4/operator/ 2025-10-01 14:18:39.365868 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_rabbitmq-cluster-operator-779fc9694b-d2hdg_0a1bac53-f36d-4a76-a0c6-b19a17eb25f4/operator/0.log 2025-10-01 14:18:39.365884 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_rabbitmq-cluster-operator-index-l72d5_1fc5545f-e6d0-4cd1-9abf-44138f6dc054/ 2025-10-01 14:18:39.365899 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_rabbitmq-cluster-operator-index-l72d5_1fc5545f-e6d0-4cd1-9abf-44138f6dc054/registry-server/ 2025-10-01 14:18:39.365914 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_rabbitmq-cluster-operator-index-l72d5_1fc5545f-e6d0-4cd1-9abf-44138f6dc054/registry-server/0.log 2025-10-01 14:18:39.365930 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/ 2025-10-01 14:18:39.365945 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/event-filter.html 2025-10-01 14:18:39.365961 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/must-gather.logs 2025-10-01 14:18:39.365976 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/timestamp 2025-10-01 14:18:39.365991 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/ 2025-10-01 14:18:39.366006 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/gather.logs 2025-10-01 14:18:39.366021 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/must-gather.tar.xz 2025-10-01 14:18:39.366037 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/packagemanifests.gz 2025-10-01 14:18:39.366052 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/run.log 2025-10-01 14:18:39.366069 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/version 2025-10-01 14:18:39.366085 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/apiservices/ 2025-10-01 14:18:39.366101 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/apiservices/v1beta1.instanceha.openstack.org.yaml 2025-10-01 14:18:39.366122 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/apiservices/v1beta1.keystone.openstack.org.yaml 2025-10-01 14:18:39.366139 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/apiservices/v1beta1.mariadb.openstack.org.yaml 2025-10-01 14:18:39.366155 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/apiservices/v1beta1.memcached.openstack.org.yaml 2025-10-01 14:18:39.366172 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/apiservices/v1beta1.network.openstack.org.yaml 2025-10-01 14:18:39.366189 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/apiservices/v1beta1.rabbitmq.com.yaml 2025-10-01 14:18:39.366205 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/apiservices/v1beta1.rabbitmq.openstack.org.yaml 2025-10-01 14:18:39.366222 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/apiservices/v1beta1.redis.openstack.org.yaml 2025-10-01 14:18:39.366239 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/apiservices/v1beta1.topology.openstack.org.yaml 2025-10-01 14:18:39.366258 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/crd/ 2025-10-01 14:18:39.366275 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/crd/bgpconfigurations.network.openstack.org.yaml 2025-10-01 14:18:39.366292 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/crd/dnsdata.network.openstack.org.yaml 2025-10-01 14:18:39.366309 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/crd/dnsmasqs.network.openstack.org.yaml 2025-10-01 14:18:39.366325 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/crd/galerabackups.mariadb.openstack.org.yaml 2025-10-01 14:18:39.366341 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/crd/galeras.mariadb.openstack.org.yaml 2025-10-01 14:18:39.366362 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/crd/instancehas.instanceha.openstack.org.yaml 2025-10-01 14:18:39.366380 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/crd/ipsets.network.openstack.org.yaml 2025-10-01 14:18:39.366397 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/crd/keystoneapis.keystone.openstack.org.yaml 2025-10-01 14:18:39.366413 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/crd/keystoneendpoints.keystone.openstack.org.yaml 2025-10-01 14:18:39.366430 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/crd/keystoneservices.keystone.openstack.org.yaml 2025-10-01 14:18:39.366446 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/crd/mariadbaccounts.mariadb.openstack.org.yaml 2025-10-01 14:18:39.366462 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/crd/mariadbdatabases.mariadb.openstack.org.yaml 2025-10-01 14:18:39.366477 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/crd/memcacheds.memcached.openstack.org.yaml 2025-10-01 14:18:39.366494 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/crd/netconfigs.network.openstack.org.yaml 2025-10-01 14:18:39.366510 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/crd/rabbitmqs.rabbitmq.openstack.org.yaml 2025-10-01 14:18:39.366531 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/crd/redises.redis.openstack.org.yaml 2025-10-01 14:18:39.366556 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/crd/reservations.network.openstack.org.yaml 2025-10-01 14:18:39.366585 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/crd/topologies.topology.openstack.org.yaml 2025-10-01 14:18:39.366605 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/crd/transporturls.rabbitmq.openstack.org.yaml 2025-10-01 14:18:39.366627 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/csv/ 2025-10-01 14:18:39.366644 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/csv/infra-operator.v0.0.1 2025-10-01 14:18:39.366661 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/csv/keystone-operator.v0.0.1 2025-10-01 14:18:39.366677 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/csv/mariadb-operator.v0.0.1 2025-10-01 14:18:39.366694 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/csv/metallb-operator.v4.18.0-202509100344 2025-10-01 14:18:39.366710 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/csv/rabbitmq-cluster-operator.v0.0.1 2025-10-01 14:18:39.366754 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/ctlplane/ 2025-10-01 14:18:39.366773 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/ctlplane/endpoints 2025-10-01 14:18:39.366789 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/ctlplane/services 2025-10-01 14:18:39.366804 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/ctlplane/ovn/ 2025-10-01 14:18:39.366821 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/ctlplane/rabbitmq/ 2025-10-01 14:18:39.366836 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/dbs/ 2025-10-01 14:18:39.366852 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/ 2025-10-01 14:18:39.366867 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/ 2025-10-01 14:18:39.366882 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/all_resources.log 2025-10-01 14:18:39.366903 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/events.log 2025-10-01 14:18:39.366919 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/nad.log 2025-10-01 14:18:39.366935 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pvc.log 2025-10-01 14:18:39.366951 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/buildconfig/ 2025-10-01 14:18:39.366967 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/cert/ 2025-10-01 14:18:39.366983 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/certificaterequests/ 2025-10-01 14:18:39.366997 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/configmaps/ 2025-10-01 14:18:39.367013 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/configmaps/rabbitmq-plugins-conf.yaml 2025-10-01 14:18:39.367028 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/configmaps/rabbitmq-server-conf.yaml 2025-10-01 14:18:39.367043 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/cronjobs/ 2025-10-01 14:18:39.367059 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/crs/ 2025-10-01 14:18:39.367074 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/crs/galeras.mariadb.openstack.org/ 2025-10-01 14:18:39.367089 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/crs/galeras.mariadb.openstack.org/openstack.yaml 2025-10-01 14:18:39.367110 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/crs/memcacheds.memcached.openstack.org/ 2025-10-01 14:18:39.367127 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/crs/memcacheds.memcached.openstack.org/memcached.yaml 2025-10-01 14:18:39.367143 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/crs/rabbitmqclusters.rabbitmq.com/ 2025-10-01 14:18:39.367160 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/crs/rabbitmqclusters.rabbitmq.com/rabbitmq.yaml 2025-10-01 14:18:39.367176 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/daemonset/ 2025-10-01 14:18:39.367191 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/deployments/ 2025-10-01 14:18:39.367206 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/imagestream/ 2025-10-01 14:18:39.367221 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/installplans/ 2025-10-01 14:18:39.367236 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/issuer/ 2025-10-01 14:18:39.367250 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/jobs/ 2025-10-01 14:18:39.367265 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pods/ 2025-10-01 14:18:39.367280 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pods/memcached-0/ 2025-10-01 14:18:39.367294 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pods/memcached-0/memcached-0-describe 2025-10-01 14:18:39.367309 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pods/memcached-0/logs/ 2025-10-01 14:18:39.367328 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pods/memcached-0/logs/memcached.log 2025-10-01 14:18:39.367343 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pods/openstack-galera-0/ 2025-10-01 14:18:39.367359 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pods/openstack-galera-0/openstack-galera-0-describe 2025-10-01 14:18:39.367374 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pods/openstack-galera-0/logs/ 2025-10-01 14:18:39.367390 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pods/openstack-galera-0/logs/galera.log 2025-10-01 14:18:39.367407 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pods/openstack-galera-0/logs/mysql-bootstrap.log 2025-10-01 14:18:39.367424 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pods/openstack-galera-1/ 2025-10-01 14:18:39.367441 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pods/openstack-galera-1/openstack-galera-1-describe 2025-10-01 14:18:39.367457 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pods/openstack-galera-1/logs/ 2025-10-01 14:18:39.367472 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pods/openstack-galera-1/logs/galera.log 2025-10-01 14:18:39.367489 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pods/openstack-galera-1/logs/mysql-bootstrap.log 2025-10-01 14:18:39.367505 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pods/openstack-galera-2/ 2025-10-01 14:18:39.367521 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pods/openstack-galera-2/openstack-galera-2-describe 2025-10-01 14:18:39.367545 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pods/openstack-galera-2/logs/ 2025-10-01 14:18:39.367561 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pods/openstack-galera-2/logs/galera.log 2025-10-01 14:18:39.367577 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pods/openstack-galera-2/logs/mysql-bootstrap.log 2025-10-01 14:18:39.367593 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pods/rabbitmq-server-0/ 2025-10-01 14:18:39.367610 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pods/rabbitmq-server-0/rabbitmq-server-0-describe 2025-10-01 14:18:39.367632 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pods/rabbitmq-server-0/logs/ 2025-10-01 14:18:39.367658 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pods/rabbitmq-server-0/logs/rabbitmq.log 2025-10-01 14:18:39.367686 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/pods/rabbitmq-server-0/logs/setup-container.log 2025-10-01 14:18:39.367705 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/replicaset/ 2025-10-01 14:18:39.367722 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/routes/ 2025-10-01 14:18:39.367762 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/secrets/ 2025-10-01 14:18:39.367780 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/secrets/octavia/ 2025-10-01 14:18:39.367797 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/secrets/octavia/octavia-ca-passphrase.yaml 2025-10-01 14:18:39.367817 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/secrets/rabbitmq/ 2025-10-01 14:18:39.367834 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/secrets/rabbitmq/rabbitmq-default-user.yaml 2025-10-01 14:18:39.367851 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/secrets/rabbitmq/rabbitmq-default-user.yaml-default_user.conf 2025-10-01 14:18:39.367867 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/secrets/rabbitmq/rabbitmq-erlang-cookie.yaml 2025-10-01 14:18:39.367883 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/services/ 2025-10-01 14:18:39.367899 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/services/memcached.yaml 2025-10-01 14:18:39.367914 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/services/openstack-galera.yaml 2025-10-01 14:18:39.367929 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/services/openstack.yaml 2025-10-01 14:18:39.367944 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/services/rabbitmq-nodes.yaml 2025-10-01 14:18:39.367959 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/services/rabbitmq.yaml 2025-10-01 14:18:39.367974 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/statefulset/ 2025-10-01 14:18:39.367989 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/statefulset/memcached.yaml 2025-10-01 14:18:39.368004 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/statefulset/openstack-galera.yaml 2025-10-01 14:18:39.368024 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/statefulset/rabbitmq-server.yaml 2025-10-01 14:18:39.368040 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/keystone-kuttl-tests/subscriptions/ 2025-10-01 14:18:39.368056 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/ 2025-10-01 14:18:39.368071 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/all_resources.log 2025-10-01 14:18:39.368086 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/events.log 2025-10-01 14:18:39.368101 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/nad.log 2025-10-01 14:18:39.368116 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pvc.log 2025-10-01 14:18:39.368131 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/buildconfig/ 2025-10-01 14:18:39.368147 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/cert/ 2025-10-01 14:18:39.368162 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/certificaterequests/ 2025-10-01 14:18:39.368177 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/configmaps/ 2025-10-01 14:18:39.368191 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/cronjobs/ 2025-10-01 14:18:39.368206 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/daemonset/ 2025-10-01 14:18:39.368220 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/daemonset/frr-k8s.yaml 2025-10-01 14:18:39.368239 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/daemonset/speaker.yaml 2025-10-01 14:18:39.368254 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/deployments/ 2025-10-01 14:18:39.368269 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/deployments/controller.yaml 2025-10-01 14:18:39.368284 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/deployments/frr-k8s-webhook-server.yaml 2025-10-01 14:18:39.368299 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/deployments/metallb-operator-controller-manager.yaml 2025-10-01 14:18:39.368314 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/deployments/metallb-operator-webhook-server.yaml 2025-10-01 14:18:39.368329 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/imagestream/ 2025-10-01 14:18:39.368344 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/installplans/ 2025-10-01 14:18:39.368358 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/installplans/install-db2tt 2025-10-01 14:18:39.368373 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/issuer/ 2025-10-01 14:18:39.368387 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/jobs/ 2025-10-01 14:18:39.368402 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/ 2025-10-01 14:18:39.368416 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/controller-5d688f5ffc-rhh9b/ 2025-10-01 14:18:39.368431 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/controller-5d688f5ffc-rhh9b/controller-5d688f5ffc-rhh9b-describe 2025-10-01 14:18:39.368451 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/controller-5d688f5ffc-rhh9b/logs/ 2025-10-01 14:18:39.368467 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/controller-5d688f5ffc-rhh9b/logs/controller.log 2025-10-01 14:18:39.368482 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/controller-5d688f5ffc-rhh9b/logs/kube-rbac-proxy.log 2025-10-01 14:18:39.368497 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/frr-k8s-59tlr/ 2025-10-01 14:18:39.368513 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/frr-k8s-59tlr/frr-k8s-59tlr-describe 2025-10-01 14:18:39.368529 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/frr-k8s-59tlr/logs/ 2025-10-01 14:18:39.368545 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/frr-k8s-59tlr/logs/controller.log 2025-10-01 14:18:39.368561 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/frr-k8s-59tlr/logs/cp-frr-files.log 2025-10-01 14:18:39.368576 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/frr-k8s-59tlr/logs/cp-metrics.log 2025-10-01 14:18:39.368591 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/frr-k8s-59tlr/logs/cp-reloader.log 2025-10-01 14:18:39.368606 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/frr-k8s-59tlr/logs/frr-metrics.log 2025-10-01 14:18:39.368622 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/frr-k8s-59tlr/logs/frr.log 2025-10-01 14:18:39.368637 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/frr-k8s-59tlr/logs/kube-rbac-proxy-frr.log 2025-10-01 14:18:39.368656 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/frr-k8s-59tlr/logs/kube-rbac-proxy.log 2025-10-01 14:18:39.368672 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/frr-k8s-59tlr/logs/reloader.log 2025-10-01 14:18:39.368688 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/frr-k8s-webhook-server-5478bdb765-8g948/ 2025-10-01 14:18:39.368703 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/frr-k8s-webhook-server-5478bdb765-8g948/frr-k8s-webhook-server-5478bdb765-8g948-describe 2025-10-01 14:18:39.368759 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/frr-k8s-webhook-server-5478bdb765-8g948/logs/ 2025-10-01 14:18:39.368792 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/frr-k8s-webhook-server-5478bdb765-8g948/logs/frr-k8s-webhook-server.log 2025-10-01 14:18:39.368812 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/metallb-operator-controller-manager-597c4b7b96-2jb5j/ 2025-10-01 14:18:39.368828 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/metallb-operator-controller-manager-597c4b7b96-2jb5j/metallb-operator-controller-manager-597c4b7b96-2jb5j-describe 2025-10-01 14:18:39.368845 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/metallb-operator-controller-manager-597c4b7b96-2jb5j/logs/ 2025-10-01 14:18:39.368861 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/metallb-operator-controller-manager-597c4b7b96-2jb5j/logs/manager.log 2025-10-01 14:18:39.368876 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/metallb-operator-webhook-server-7b9b85bd76-p6smt/ 2025-10-01 14:18:39.368892 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/metallb-operator-webhook-server-7b9b85bd76-p6smt/metallb-operator-webhook-server-7b9b85bd76-p6smt-describe 2025-10-01 14:18:39.368912 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/metallb-operator-webhook-server-7b9b85bd76-p6smt/logs/ 2025-10-01 14:18:39.368928 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/metallb-operator-webhook-server-7b9b85bd76-p6smt/logs/webhook-server.log 2025-10-01 14:18:39.368943 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/speaker-2nzm9/ 2025-10-01 14:18:39.368958 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/speaker-2nzm9/speaker-2nzm9-describe 2025-10-01 14:18:39.368973 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/speaker-2nzm9/logs/ 2025-10-01 14:18:39.368989 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/speaker-2nzm9/logs/kube-rbac-proxy.log 2025-10-01 14:18:39.369003 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/pods/speaker-2nzm9/logs/speaker.log.gz 2025-10-01 14:18:39.369018 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/replicaset/ 2025-10-01 14:18:39.369033 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/replicaset/controller-5d688f5ffc.yaml 2025-10-01 14:18:39.369048 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/replicaset/frr-k8s-webhook-server-5478bdb765.yaml 2025-10-01 14:18:39.369064 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/replicaset/metallb-operator-controller-manager-597c4b7b96.yaml 2025-10-01 14:18:39.369080 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/replicaset/metallb-operator-webhook-server-7b9b85bd76.yaml 2025-10-01 14:18:39.369099 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/routes/ 2025-10-01 14:18:39.369115 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/services/ 2025-10-01 14:18:39.369129 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/services/controller-monitor-service.yaml 2025-10-01 14:18:39.369144 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/services/frr-k8s-monitor-service.yaml 2025-10-01 14:18:39.369159 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/services/frr-k8s-webhook-service.yaml 2025-10-01 14:18:39.369174 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/services/metallb-operator-controller-manager-service.yaml 2025-10-01 14:18:39.369188 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/services/metallb-operator-webhook-server-service.yaml 2025-10-01 14:18:39.369203 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/services/metallb-operator-webhook-service.yaml 2025-10-01 14:18:39.369217 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/services/speaker-monitor-service.yaml 2025-10-01 14:18:39.369232 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/services/webhook-service.yaml 2025-10-01 14:18:39.369246 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/statefulset/ 2025-10-01 14:18:39.369261 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/subscriptions/ 2025-10-01 14:18:39.369275 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/metallb-system/subscriptions/metallb-operator-sub 2025-10-01 14:18:39.369290 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/ 2025-10-01 14:18:39.369313 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/all_resources.log 2025-10-01 14:18:39.369330 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/events.log 2025-10-01 14:18:39.369345 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/nad.log 2025-10-01 14:18:39.369360 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/pvc.log 2025-10-01 14:18:39.369375 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/buildconfig/ 2025-10-01 14:18:39.369390 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/cert/ 2025-10-01 14:18:39.369405 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/certificaterequests/ 2025-10-01 14:18:39.369419 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/configmaps/ 2025-10-01 14:18:39.369434 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/cronjobs/ 2025-10-01 14:18:39.369448 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/daemonset/ 2025-10-01 14:18:39.369463 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/deployments/ 2025-10-01 14:18:39.369477 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/deployments/control-plane-machine-set-operator.yaml 2025-10-01 14:18:39.369492 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/deployments/machine-api-operator.yaml 2025-10-01 14:18:39.369511 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/imagestream/ 2025-10-01 14:18:39.369527 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/installplans/ 2025-10-01 14:18:39.369542 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/issuer/ 2025-10-01 14:18:39.369556 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/jobs/ 2025-10-01 14:18:39.369571 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/pods/ 2025-10-01 14:18:39.369585 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/pods/control-plane-machine-set-operator-78cbb6b69f-zwfjn/ 2025-10-01 14:18:39.369600 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/pods/control-plane-machine-set-operator-78cbb6b69f-zwfjn/control-plane-machine-set-operator-78cbb6b69f-zwfjn-describe 2025-10-01 14:18:39.369620 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/pods/control-plane-machine-set-operator-78cbb6b69f-zwfjn/logs/ 2025-10-01 14:18:39.369635 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/pods/control-plane-machine-set-operator-78cbb6b69f-zwfjn/logs/control-plane-machine-set-operator.log 2025-10-01 14:18:39.369651 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/pods/machine-api-operator-5694c8668f-r7crv/ 2025-10-01 14:18:39.369667 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/pods/machine-api-operator-5694c8668f-r7crv/machine-api-operator-5694c8668f-r7crv-describe 2025-10-01 14:18:39.369684 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/pods/machine-api-operator-5694c8668f-r7crv/logs/ 2025-10-01 14:18:39.369700 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/pods/machine-api-operator-5694c8668f-r7crv/logs/kube-rbac-proxy.log 2025-10-01 14:18:39.369720 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/pods/machine-api-operator-5694c8668f-r7crv/logs/machine-api-operator.log 2025-10-01 14:18:39.369762 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/replicaset/ 2025-10-01 14:18:39.369779 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/replicaset/control-plane-machine-set-operator-78cbb6b69f.yaml 2025-10-01 14:18:39.369794 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/replicaset/machine-api-operator-5694c8668f.yaml 2025-10-01 14:18:39.369810 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/routes/ 2025-10-01 14:18:39.369834 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/services/ 2025-10-01 14:18:39.369861 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/services/cluster-autoscaler-operator.yaml 2025-10-01 14:18:39.369890 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/services/control-plane-machine-set-operator.yaml 2025-10-01 14:18:39.369910 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/services/machine-api-controllers.yaml 2025-10-01 14:18:39.369926 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/services/machine-api-operator-machine-webhook.yaml 2025-10-01 14:18:39.369943 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/services/machine-api-operator-webhook.yaml 2025-10-01 14:18:39.369959 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/services/machine-api-operator.yaml 2025-10-01 14:18:39.369980 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/statefulset/ 2025-10-01 14:18:39.369997 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-machine-api/subscriptions/ 2025-10-01 14:18:39.370012 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/ 2025-10-01 14:18:39.370028 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/all_resources.log 2025-10-01 14:18:39.370044 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/events.log 2025-10-01 14:18:39.370059 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/nad.log 2025-10-01 14:18:39.370074 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pvc.log 2025-10-01 14:18:39.370089 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/buildconfig/ 2025-10-01 14:18:39.370104 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/cert/ 2025-10-01 14:18:39.370119 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/certificaterequests/ 2025-10-01 14:18:39.370134 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/configmaps/ 2025-10-01 14:18:39.370150 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/cronjobs/ 2025-10-01 14:18:39.370165 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/daemonset/ 2025-10-01 14:18:39.370180 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/deployments/ 2025-10-01 14:18:39.370199 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/deployments/marketplace-operator.yaml 2025-10-01 14:18:39.370216 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/imagestream/ 2025-10-01 14:18:39.370232 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/installplans/ 2025-10-01 14:18:39.370247 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/issuer/ 2025-10-01 14:18:39.370262 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/jobs/ 2025-10-01 14:18:39.370277 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/jobs/f29efc416ca216184f30dbb4b19e0f463bdcecc8ef634322abbad88d964a8fa.yaml 2025-10-01 14:18:39.370292 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/ 2025-10-01 14:18:39.370307 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/certified-operators-pm5fh/ 2025-10-01 14:18:39.370323 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/certified-operators-pm5fh/certified-operators-pm5fh-describe 2025-10-01 14:18:39.370338 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/certified-operators-pm5fh/logs/ 2025-10-01 14:18:39.370354 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/certified-operators-pm5fh/logs/extract-content.log 2025-10-01 14:18:39.370368 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/certified-operators-pm5fh/logs/extract-utilities.log 2025-10-01 14:18:39.370383 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/certified-operators-pm5fh/logs/registry-server.log.gz 2025-10-01 14:18:39.370403 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/community-operators-wrzqd/ 2025-10-01 14:18:39.370419 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/community-operators-wrzqd/community-operators-wrzqd-describe 2025-10-01 14:18:39.370434 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/community-operators-wrzqd/logs/ 2025-10-01 14:18:39.370449 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/community-operators-wrzqd/logs/extract-content.log 2025-10-01 14:18:39.370464 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/community-operators-wrzqd/logs/extract-utilities.log 2025-10-01 14:18:39.370479 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/community-operators-wrzqd/logs/registry-server.log.gz 2025-10-01 14:18:39.370494 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/f29efc416ca216184f30dbb4b19e0f463bdcecc8ef634322abbad88d96k695t/ 2025-10-01 14:18:39.370509 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/f29efc416ca216184f30dbb4b19e0f463bdcecc8ef634322abbad88d96k695t/f29efc416ca216184f30dbb4b19e0f463bdcecc8ef634322abbad88d96k695t-describe 2025-10-01 14:18:39.370530 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/f29efc416ca216184f30dbb4b19e0f463bdcecc8ef634322abbad88d96k695t/logs/ 2025-10-01 14:18:39.370545 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/f29efc416ca216184f30dbb4b19e0f463bdcecc8ef634322abbad88d96k695t/logs/extract.log 2025-10-01 14:18:39.370560 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/f29efc416ca216184f30dbb4b19e0f463bdcecc8ef634322abbad88d96k695t/logs/pull.log 2025-10-01 14:18:39.370575 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/f29efc416ca216184f30dbb4b19e0f463bdcecc8ef634322abbad88d96k695t/logs/util.log 2025-10-01 14:18:39.370594 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/marketplace-operator-79b997595-zndj2/ 2025-10-01 14:18:39.370609 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/marketplace-operator-79b997595-zndj2/marketplace-operator-79b997595-zndj2-describe 2025-10-01 14:18:39.370624 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/marketplace-operator-79b997595-zndj2/logs/ 2025-10-01 14:18:39.370639 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/marketplace-operator-79b997595-zndj2/logs/marketplace-operator.log 2025-10-01 14:18:39.370654 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/redhat-marketplace-c9bgd/ 2025-10-01 14:18:39.370669 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/redhat-marketplace-c9bgd/redhat-marketplace-c9bgd-describe 2025-10-01 14:18:39.370684 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/redhat-marketplace-c9bgd/logs/ 2025-10-01 14:18:39.370699 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/redhat-marketplace-c9bgd/logs/extract-content.log 2025-10-01 14:18:39.370714 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/redhat-marketplace-c9bgd/logs/extract-utilities.log 2025-10-01 14:18:39.370758 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/redhat-marketplace-c9bgd/logs/registry-server.log 2025-10-01 14:18:39.370776 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/redhat-operators-cvpbg/ 2025-10-01 14:18:39.370792 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/redhat-operators-cvpbg/redhat-operators-cvpbg-describe 2025-10-01 14:18:39.370816 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/redhat-operators-cvpbg/logs/ 2025-10-01 14:18:39.370833 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/redhat-operators-cvpbg/logs/extract-content.log 2025-10-01 14:18:39.370849 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/redhat-operators-cvpbg/logs/extract-utilities.log 2025-10-01 14:18:39.370865 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/pods/redhat-operators-cvpbg/logs/registry-server.log.gz 2025-10-01 14:18:39.370880 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/replicaset/ 2025-10-01 14:18:39.370896 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/replicaset/marketplace-operator-79b997595.yaml 2025-10-01 14:18:39.370912 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/routes/ 2025-10-01 14:18:39.370932 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/services/ 2025-10-01 14:18:39.370958 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/services/certified-operators.yaml 2025-10-01 14:18:39.370986 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/services/community-operators.yaml 2025-10-01 14:18:39.371005 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/services/marketplace-operator-metrics.yaml 2025-10-01 14:18:39.371027 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/services/redhat-marketplace.yaml 2025-10-01 14:18:39.371050 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/services/redhat-operators.yaml 2025-10-01 14:18:39.371079 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/statefulset/ 2025-10-01 14:18:39.371100 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-marketplace/subscriptions/ 2025-10-01 14:18:39.371124 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-operators/ 2025-10-01 14:18:39.371141 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-operators/all_resources.log 2025-10-01 14:18:39.371161 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-operators/events.log 2025-10-01 14:18:39.371181 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-operators/nad.log 2025-10-01 14:18:39.371197 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-operators/pvc.log 2025-10-01 14:18:39.371216 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-operators/buildconfig/ 2025-10-01 14:18:39.371236 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-operators/cert/ 2025-10-01 14:18:39.371323 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-operators/certificaterequests/ 2025-10-01 14:18:39.371346 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-operators/configmaps/ 2025-10-01 14:18:39.371362 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-operators/cronjobs/ 2025-10-01 14:18:39.371378 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-operators/daemonset/ 2025-10-01 14:18:39.371393 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-operators/deployments/ 2025-10-01 14:18:39.371414 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-operators/imagestream/ 2025-10-01 14:18:39.371430 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-operators/installplans/ 2025-10-01 14:18:39.371444 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-operators/issuer/ 2025-10-01 14:18:39.371459 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-operators/jobs/ 2025-10-01 14:18:39.371474 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-operators/pods/ 2025-10-01 14:18:39.371489 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-operators/pods/-describe 2025-10-01 14:18:39.371504 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-operators/pods/logs/ 2025-10-01 14:18:39.371519 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-operators/replicaset/ 2025-10-01 14:18:39.371535 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-operators/routes/ 2025-10-01 14:18:39.371550 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-operators/services/ 2025-10-01 14:18:39.371564 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-operators/statefulset/ 2025-10-01 14:18:39.371579 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openshift-operators/subscriptions/ 2025-10-01 14:18:39.371594 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/ 2025-10-01 14:18:39.371609 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/all_resources.log 2025-10-01 14:18:39.371628 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/events.log 2025-10-01 14:18:39.371643 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/nad.log 2025-10-01 14:18:39.371658 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pvc.log 2025-10-01 14:18:39.371673 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/buildconfig/ 2025-10-01 14:18:39.371688 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/cert/ 2025-10-01 14:18:39.371702 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/certificaterequests/ 2025-10-01 14:18:39.371717 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/configmaps/ 2025-10-01 14:18:39.371758 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/configmaps/keystone-operator-manager-config.yaml 2025-10-01 14:18:39.371776 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/configmaps/mariadb-operator-manager-config.yaml 2025-10-01 14:18:39.371792 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/cronjobs/ 2025-10-01 14:18:39.371808 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/daemonset/ 2025-10-01 14:18:39.371823 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/deployments/ 2025-10-01 14:18:39.371838 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/deployments/infra-operator-controller-manager.yaml 2025-10-01 14:18:39.371853 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/deployments/keystone-operator-controller-manager.yaml 2025-10-01 14:18:39.371873 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/deployments/mariadb-operator-controller-manager.yaml 2025-10-01 14:18:39.371889 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/deployments/rabbitmq-cluster-operator.yaml 2025-10-01 14:18:39.371904 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/imagestream/ 2025-10-01 14:18:39.371919 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/installplans/ 2025-10-01 14:18:39.371934 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/installplans/install-2tgxz 2025-10-01 14:18:39.371949 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/installplans/install-jp25p 2025-10-01 14:18:39.371964 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/installplans/install-m6hjx 2025-10-01 14:18:39.371979 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/installplans/install-qls85 2025-10-01 14:18:39.371994 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/issuer/ 2025-10-01 14:18:39.372011 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/jobs/ 2025-10-01 14:18:39.372032 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/jobs/1fe17e290923827dd9fb37b3e81441463184703be1419d7456093e6c7e14daf.yaml 2025-10-01 14:18:39.372057 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/jobs/9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e590d97f8.yaml 2025-10-01 14:18:39.372085 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/jobs/e7e08b4ef4c4210da6849e65893e25f02a2f1e5ad24c8e4d88ab10670f5219a.yaml 2025-10-01 14:18:39.372110 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/jobs/fe5824c023aabbb502546c854372a2e601abaa9e5f2db222166b4342b0e84c0.yaml 2025-10-01 14:18:39.372129 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/ 2025-10-01 14:18:39.372146 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/1fe17e290923827dd9fb37b3e81441463184703be1419d7456093e6c7expsb5/ 2025-10-01 14:18:39.372162 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/1fe17e290923827dd9fb37b3e81441463184703be1419d7456093e6c7expsb5/1fe17e290923827dd9fb37b3e81441463184703be1419d7456093e6c7expsb5-describe 2025-10-01 14:18:39.372178 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/1fe17e290923827dd9fb37b3e81441463184703be1419d7456093e6c7expsb5/logs/ 2025-10-01 14:18:39.372194 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/1fe17e290923827dd9fb37b3e81441463184703be1419d7456093e6c7expsb5/logs/extract.log 2025-10-01 14:18:39.372210 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/1fe17e290923827dd9fb37b3e81441463184703be1419d7456093e6c7expsb5/logs/pull.log 2025-10-01 14:18:39.372227 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/1fe17e290923827dd9fb37b3e81441463184703be1419d7456093e6c7expsb5/logs/util.log 2025-10-01 14:18:39.372243 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5909v9jg/ 2025-10-01 14:18:39.372259 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5909v9jg/9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5909v9jg-describe 2025-10-01 14:18:39.372274 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5909v9jg/logs/ 2025-10-01 14:18:39.372296 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5909v9jg/logs/extract.log 2025-10-01 14:18:39.372313 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5909v9jg/logs/pull.log 2025-10-01 14:18:39.372328 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5909v9jg/logs/util.log 2025-10-01 14:18:39.372345 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/e7e08b4ef4c4210da6849e65893e25f02a2f1e5ad24c8e4d88ab10670f4zdfq/ 2025-10-01 14:18:39.372360 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/e7e08b4ef4c4210da6849e65893e25f02a2f1e5ad24c8e4d88ab10670f4zdfq/e7e08b4ef4c4210da6849e65893e25f02a2f1e5ad24c8e4d88ab10670f4zdfq-describe 2025-10-01 14:18:39.372376 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/e7e08b4ef4c4210da6849e65893e25f02a2f1e5ad24c8e4d88ab10670f4zdfq/logs/ 2025-10-01 14:18:39.372392 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/e7e08b4ef4c4210da6849e65893e25f02a2f1e5ad24c8e4d88ab10670f4zdfq/logs/extract.log 2025-10-01 14:18:39.372408 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/e7e08b4ef4c4210da6849e65893e25f02a2f1e5ad24c8e4d88ab10670f4zdfq/logs/pull.log 2025-10-01 14:18:39.372424 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/e7e08b4ef4c4210da6849e65893e25f02a2f1e5ad24c8e4d88ab10670f4zdfq/logs/util.log 2025-10-01 14:18:39.372439 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/fe5824c023aabbb502546c854372a2e601abaa9e5f2db222166b4342b0ctqk7/ 2025-10-01 14:18:39.372454 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/fe5824c023aabbb502546c854372a2e601abaa9e5f2db222166b4342b0ctqk7/fe5824c023aabbb502546c854372a2e601abaa9e5f2db222166b4342b0ctqk7-describe 2025-10-01 14:18:39.372475 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/fe5824c023aabbb502546c854372a2e601abaa9e5f2db222166b4342b0ctqk7/logs/ 2025-10-01 14:18:39.372492 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/fe5824c023aabbb502546c854372a2e601abaa9e5f2db222166b4342b0ctqk7/logs/extract.log 2025-10-01 14:18:39.372508 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/fe5824c023aabbb502546c854372a2e601abaa9e5f2db222166b4342b0ctqk7/logs/pull.log 2025-10-01 14:18:39.372523 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/fe5824c023aabbb502546c854372a2e601abaa9e5f2db222166b4342b0ctqk7/logs/util.log 2025-10-01 14:18:39.372539 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/infra-operator-controller-manager-6dc4785855-lh6lt/ 2025-10-01 14:18:39.372554 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/infra-operator-controller-manager-6dc4785855-lh6lt/infra-operator-controller-manager-6dc4785855-lh6lt-describe 2025-10-01 14:18:39.372570 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/infra-operator-controller-manager-6dc4785855-lh6lt/logs/ 2025-10-01 14:18:39.372585 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/infra-operator-controller-manager-6dc4785855-lh6lt/logs/kube-rbac-proxy.log 2025-10-01 14:18:39.372678 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/infra-operator-controller-manager-6dc4785855-lh6lt/logs/manager.log 2025-10-01 14:18:39.372721 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/infra-operator-index-7cfsk/ 2025-10-01 14:18:39.372760 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/infra-operator-index-7cfsk/infra-operator-index-7cfsk-describe 2025-10-01 14:18:39.372779 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/infra-operator-index-7cfsk/logs/ 2025-10-01 14:18:39.372927 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/infra-operator-index-7cfsk/logs/registry-server.log 2025-10-01 14:18:39.372960 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/keystone-operator-controller-manager-7d9d9bb4b5-fr745/ 2025-10-01 14:18:39.372980 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/keystone-operator-controller-manager-7d9d9bb4b5-fr745/keystone-operator-controller-manager-7d9d9bb4b5-fr745-describe 2025-10-01 14:18:39.372998 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/keystone-operator-controller-manager-7d9d9bb4b5-fr745/logs/ 2025-10-01 14:18:39.373014 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/keystone-operator-controller-manager-7d9d9bb4b5-fr745/logs/kube-rbac-proxy.log 2025-10-01 14:18:39.373031 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/keystone-operator-controller-manager-7d9d9bb4b5-fr745/logs/manager-previous.log 2025-10-01 14:18:39.373047 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/keystone-operator-controller-manager-7d9d9bb4b5-fr745/logs/manager.log 2025-10-01 14:18:39.373063 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/keystone-operator-index-z58lt/ 2025-10-01 14:18:39.373079 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/keystone-operator-index-z58lt/keystone-operator-index-z58lt-describe 2025-10-01 14:18:39.373094 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/keystone-operator-index-z58lt/logs/ 2025-10-01 14:18:39.373110 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/keystone-operator-index-z58lt/logs/registry-server.log 2025-10-01 14:18:39.373132 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/mariadb-operator-controller-manager-566896bb75-2m2bz/ 2025-10-01 14:18:39.373163 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/mariadb-operator-controller-manager-566896bb75-2m2bz/mariadb-operator-controller-manager-566896bb75-2m2bz-describe 2025-10-01 14:18:39.373193 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/mariadb-operator-controller-manager-566896bb75-2m2bz/logs/ 2025-10-01 14:18:39.373213 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/mariadb-operator-controller-manager-566896bb75-2m2bz/logs/kube-rbac-proxy.log 2025-10-01 14:18:39.373230 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/mariadb-operator-controller-manager-566896bb75-2m2bz/logs/manager.log 2025-10-01 14:18:39.373246 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/mariadb-operator-index-2wbpw/ 2025-10-01 14:18:39.373262 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/mariadb-operator-index-2wbpw/mariadb-operator-index-2wbpw-describe 2025-10-01 14:18:39.373278 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/mariadb-operator-index-2wbpw/logs/ 2025-10-01 14:18:39.373295 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/mariadb-operator-index-2wbpw/logs/registry-server.log 2025-10-01 14:18:39.373311 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/rabbitmq-cluster-operator-779fc9694b-d2hdg/ 2025-10-01 14:18:39.373327 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/rabbitmq-cluster-operator-779fc9694b-d2hdg/rabbitmq-cluster-operator-779fc9694b-d2hdg-describe 2025-10-01 14:18:39.373343 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/rabbitmq-cluster-operator-779fc9694b-d2hdg/logs/ 2025-10-01 14:18:39.373363 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/rabbitmq-cluster-operator-779fc9694b-d2hdg/logs/operator.log 2025-10-01 14:18:39.373380 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/rabbitmq-cluster-operator-index-l72d5/ 2025-10-01 14:18:39.373396 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/rabbitmq-cluster-operator-index-l72d5/rabbitmq-cluster-operator-index-l72d5-describe 2025-10-01 14:18:39.373412 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/rabbitmq-cluster-operator-index-l72d5/logs/ 2025-10-01 14:18:39.373428 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/pods/rabbitmq-cluster-operator-index-l72d5/logs/registry-server.log 2025-10-01 14:18:39.373443 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/replicaset/ 2025-10-01 14:18:39.373458 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/replicaset/infra-operator-controller-manager-6dc4785855.yaml 2025-10-01 14:18:39.373473 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/replicaset/keystone-operator-controller-manager-7d9d9bb4b5.yaml 2025-10-01 14:18:39.373488 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/replicaset/mariadb-operator-controller-manager-566896bb75.yaml 2025-10-01 14:18:39.373502 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/replicaset/rabbitmq-cluster-operator-779fc9694b.yaml 2025-10-01 14:18:39.373517 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/routes/ 2025-10-01 14:18:39.373533 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/secrets/ 2025-10-01 14:18:39.373548 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/secrets/keystone/ 2025-10-01 14:18:39.373569 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/secrets/keystone/keystone-operator-controller-manager-service-cert.yaml 2025-10-01 14:18:39.373660 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/secrets/mariadb/ 2025-10-01 14:18:39.373687 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/secrets/mariadb/mariadb-operator-controller-manager-service-cert.yaml 2025-10-01 14:18:39.373705 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/secrets/neutron/ 2025-10-01 14:18:39.373737 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/secrets/neutron/neutrondb-secret.yaml 2025-10-01 14:18:39.373761 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/services/ 2025-10-01 14:18:39.373780 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/services/infra-operator-controller-manager-metrics-service.yaml 2025-10-01 14:18:39.373796 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/services/infra-operator-controller-manager-service.yaml 2025-10-01 14:18:39.373813 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/services/infra-operator-index.yaml 2025-10-01 14:18:39.373829 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/services/infra-operator-webhook-service.yaml 2025-10-01 14:18:39.373845 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/services/keystone-operator-controller-manager-metrics-service.yaml 2025-10-01 14:18:39.373862 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/services/keystone-operator-controller-manager-service.yaml 2025-10-01 14:18:39.373884 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/services/keystone-operator-index.yaml 2025-10-01 14:18:39.373901 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/services/keystone-operator-webhook-service.yaml 2025-10-01 14:18:39.373917 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/services/mariadb-operator-controller-manager-metrics-service.yaml 2025-10-01 14:18:39.373933 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/services/mariadb-operator-controller-manager-service.yaml 2025-10-01 14:18:39.373949 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/services/mariadb-operator-index.yaml 2025-10-01 14:18:39.373966 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/services/mariadb-operator-webhook-service.yaml 2025-10-01 14:18:39.373982 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/services/rabbitmq-cluster-operator-index.yaml 2025-10-01 14:18:39.373999 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/statefulset/ 2025-10-01 14:18:39.374015 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/subscriptions/ 2025-10-01 14:18:39.374031 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/subscriptions/infra-operator 2025-10-01 14:18:39.374046 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/subscriptions/keystone-operator 2025-10-01 14:18:39.374061 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/subscriptions/mariadb-operator 2025-10-01 14:18:39.374077 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack-operators/subscriptions/rabbitmq-cluster-operator 2025-10-01 14:18:39.374096 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack/ 2025-10-01 14:18:39.374112 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack/all_resources.log 2025-10-01 14:18:39.374128 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack/events.log 2025-10-01 14:18:39.374143 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack/nad.log 2025-10-01 14:18:39.374159 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack/pvc.log 2025-10-01 14:18:39.374174 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack/buildconfig/ 2025-10-01 14:18:39.374189 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack/cert/ 2025-10-01 14:18:39.374204 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack/certificaterequests/ 2025-10-01 14:18:39.374220 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack/configmaps/ 2025-10-01 14:18:39.374243 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack/cronjobs/ 2025-10-01 14:18:39.374268 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack/daemonset/ 2025-10-01 14:18:39.374296 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack/deployments/ 2025-10-01 14:18:39.374315 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack/imagestream/ 2025-10-01 14:18:39.374332 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack/installplans/ 2025-10-01 14:18:39.374349 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack/issuer/ 2025-10-01 14:18:39.374370 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack/jobs/ 2025-10-01 14:18:39.374386 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack/pods/ 2025-10-01 14:18:39.374402 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack/pods/-describe 2025-10-01 14:18:39.374418 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack/pods/logs/ 2025-10-01 14:18:39.374433 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack/replicaset/ 2025-10-01 14:18:39.374450 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack/routes/ 2025-10-01 14:18:39.374465 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack/services/ 2025-10-01 14:18:39.374480 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack/statefulset/ 2025-10-01 14:18:39.374495 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/namespaces/openstack/subscriptions/ 2025-10-01 14:18:39.374511 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/network/ 2025-10-01 14:18:39.374525 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/network/l2advertisement.log 2025-10-01 14:18:39.374541 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/network/ipaddresspools/ 2025-10-01 14:18:39.374555 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/network/nnce/ 2025-10-01 14:18:39.374570 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/network/nncp/ 2025-10-01 14:18:39.374585 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/network/nns/ 2025-10-01 14:18:39.374608 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/nodes/ 2025-10-01 14:18:39.374624 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/nodes/crc.describe 2025-10-01 14:18:39.374640 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/nodes/crc.yaml 2025-10-01 14:18:39.374656 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/sos-reports/ 2025-10-01 14:18:39.374672 | controller | cL+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/sos-reports/sos-report- -> ../_all_nodes/sosreport- 2025-10-01 14:18:39.374688 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/sos-reports/_all_nodes/ 2025-10-01 14:18:39.374704 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/ 2025-10-01 14:18:39.374720 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/mutating/ 2025-10-01 14:18:39.374766 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/mutating/mdnsmasq.kb.io-8wmnz.yaml 2025-10-01 14:18:39.374784 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/mutating/mgalera.kb.io-2cl68.yaml 2025-10-01 14:18:39.374799 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/mutating/minstanceha.kb.io-fjbrl.yaml 2025-10-01 14:18:39.374816 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/mutating/mipset.kb.io-922rs.yaml 2025-10-01 14:18:39.374833 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/mutating/mkeystoneapi.kb.io-vpbcb.yaml 2025-10-01 14:18:39.374849 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/mutating/mmemcached.kb.io-zcmx5.yaml 2025-10-01 14:18:39.374870 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/mutating/mnetconfig.kb.io-49rzb.yaml 2025-10-01 14:18:39.374887 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/mutating/mrabbitmq.kb.io-ppntf.yaml 2025-10-01 14:18:39.374903 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/mutating/mredis.kb.io-wbsdj.yaml 2025-10-01 14:18:39.374919 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/mutating/mreservation.kb.io-4cbf5.yaml 2025-10-01 14:18:39.374934 | controller | cd+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/validating/ 2025-10-01 14:18:39.374950 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/validating/bfdprofilevalidationwebhook.metallb.io-qs77c.yaml 2025-10-01 14:18:39.374965 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/validating/bgpadvertisementvalidationwebhook.metallb.io-cj9gl.yaml 2025-10-01 14:18:39.374981 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/validating/bgppeersvalidationwebhook.metallb.io-vs68h.yaml 2025-10-01 14:18:39.374997 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/validating/communityvalidationwebhook.metallb.io-5f6xx.yaml 2025-10-01 14:18:39.375013 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/validating/controlplanemachineset.machine.openshift.io.yaml 2025-10-01 14:18:39.375029 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/validating/frr-k8s-validating-webhook-configuration.yaml 2025-10-01 14:18:39.375044 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/validating/ipaddresspoolvalidationwebhook.metallb.io-69b9t.yaml 2025-10-01 14:18:39.375060 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/validating/l2advertisementvalidationwebhook.metallb.io-m5r5m.yaml 2025-10-01 14:18:39.375077 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/validating/metallbvalidationwebhook.metallb.io-bk5rg.yaml 2025-10-01 14:18:39.375098 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/validating/monitoringconfigmaps.openshift.io.yaml 2025-10-01 14:18:39.375115 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/validating/multus.openshift.io.yaml 2025-10-01 14:18:39.375131 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/validating/network-node-identity.openshift.io.yaml 2025-10-01 14:18:39.375147 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/validating/vdnsmasq.kb.io-mwsg7.yaml 2025-10-01 14:18:39.375162 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/validating/vgalera.kb.io-cvfl4.yaml 2025-10-01 14:18:39.375178 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/validating/vinstanceha.kb.io-2c69p.yaml 2025-10-01 14:18:39.375193 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/validating/vipset.kb.io-mvv22.yaml 2025-10-01 14:18:39.375209 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/validating/vkeystoneapi.kb.io-wxsq9.yaml 2025-10-01 14:18:39.375225 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/validating/vmemcached.kb.io-fqvw8.yaml 2025-10-01 14:18:39.375240 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/validating/vnetconfig.kb.io-wk48w.yaml 2025-10-01 14:18:39.375257 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/validating/vrabbitmq.kb.io-mj4mx.yaml 2025-10-01 14:18:39.375348 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/validating/vredis.kb.io-7trpr.yaml 2025-10-01 14:18:39.375389 | controller | >f+++++++++ ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-bf42dfd2e225818662aa28c4bb23204dc47b2b91127ca0e49b085baa1ea7609d/webhooks/validating/vreservation.kb.io-pscdt.yaml 2025-10-01 14:18:39.375416 | controller | cd+++++++++ ci-framework-data/tests/ 2025-10-01 14:18:39.375436 | controller | cd+++++++++ ci-framework-data/tests/kuttl_keystone/ 2025-10-01 14:18:39.375454 | controller | >f+++++++++ ci-framework-data/tests/kuttl_keystone/kuttl-report-keystone.xml 2025-10-01 14:18:39.375472 | controller | cd+++++++++ registries.conf.d/ 2025-10-01 14:18:39.375488 | controller | >f+++++++++ registries.conf.d/000-shortnames.conf 2025-10-01 14:18:39.375504 | controller | cd+++++++++ system-config/ 2025-10-01 14:18:39.375520 | controller | cd+++++++++ system-config/libvirt/ 2025-10-01 14:18:39.375536 | controller | >f+++++++++ system-config/libvirt/libvirt-admin.conf 2025-10-01 14:18:39.375552 | controller | >f+++++++++ system-config/libvirt/libvirt.conf 2025-10-01 14:18:39.835009 | controller | changed: .d..t...... ./ 2025-10-01 14:18:40.373090 | controller | changed: .d..t...... ./ 2025-10-01 14:18:40.567369 | 2025-10-01 14:18:40.567615 | TASK [Return artifact to Zuul] 2025-10-01 14:18:40.594752 | controller | skipping: Conditional result was False 2025-10-01 14:18:40.709048 | 2025-10-01 14:18:40.709223 | PLAY [Run ci/playbooks/collect-logs.yml on CRC host] 2025-10-01 14:18:40.731623 | 2025-10-01 14:18:40.731752 | TASK [Get kubelet journalctl logs] 2025-10-01 14:18:41.878306 | crc | Output suppressed because no_log was given 2025-10-01 14:18:41.920867 | 2025-10-01 14:18:41.921003 | PLAY RECAP 2025-10-01 14:18:41.921067 | controller | ok: 15 changed: 11 unreachable: 0 failed: 0 skipped: 7 rescued: 0 ignored: 1 2025-10-01 14:18:41.921105 | crc | ok: 1 changed: 1 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2025-10-01 14:18:41.921131 | 2025-10-01 14:18:42.056053 | POST-RUN END RESULT_NORMAL: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml@main] 2025-10-01 14:18:42.063986 | POST-RUN START: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/multinode-autohold.yml@main] 2025-10-01 14:18:42.747885 | 2025-10-01 14:18:42.748024 | PLAY [Run ci/playbooks/multinode-autohold.yml] 2025-10-01 14:18:42.828078 | 2025-10-01 14:18:42.828234 | TASK [Verify if "success" flag exists after successful tests execution] 2025-10-01 14:18:43.421160 | controller | ok 2025-10-01 14:18:43.444094 | 2025-10-01 14:18:43.444187 | TASK [Fetch existing autoholds from zuul] 2025-10-01 14:18:43.522665 | controller | ok 2025-10-01 14:18:43.577971 | 2025-10-01 14:18:43.578062 | TASK [krb_request : Perform the request] 2025-10-01 14:18:44.254091 | controller | ok 2025-10-01 14:18:44.377721 | 2025-10-01 14:18:44.377938 | TASK [Check if any autohold matches] 2025-10-01 14:18:44.476461 | controller | skipping: Conditional result was False 2025-10-01 14:18:44.617540 | 2025-10-01 14:18:44.617826 | PLAY RECAP 2025-10-01 14:18:44.617902 | controller | ok: 2 changed: 0 unreachable: 0 failed: 0 skipped: 1 rescued: 0 ignored: 0 2025-10-01 14:18:44.617926 | 2025-10-01 14:18:44.802082 | POST-RUN END RESULT_NORMAL: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/multinode-autohold.yml@main] 2025-10-01 14:18:44.814311 | POST-RUN START: [trusted : review.rdoproject.org/config/playbooks/crc/print-machineconfigpool.yaml@master] 2025-10-01 14:18:45.431669 | 2025-10-01 14:18:45.431891 | PLAY [crc] 2025-10-01 14:18:45.459311 | 2025-10-01 14:18:45.459400 | TASK [Print machineconfigpool] 2025-10-01 14:18:46.474834 | crc | NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE 2025-10-01 14:18:46.491395 | crc | master rendered-master-f83a149c7490c3b0bf850df839837383 False False True 1 0 0 1 220d 2025-10-01 14:18:46.491427 | crc | worker rendered-worker-3b6798c38e0f4fef228e60237fd7b864 True False False 0 0 0 0 220d 2025-10-01 14:18:46.532602 | crc | changed 2025-10-01 14:18:46.570500 | 2025-10-01 14:18:46.570675 | PLAY RECAP 2025-10-01 14:18:46.570780 | crc | ok: 1 changed: 1 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2025-10-01 14:18:46.570819 | 2025-10-01 14:18:46.689690 | POST-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/crc/print-machineconfigpool.yaml@master] 2025-10-01 14:18:46.693776 | POST-RUN START: [trusted : review.rdoproject.org/config/playbooks/crc/compress-crc-cloud-logs.yaml@master] 2025-10-01 14:18:47.356227 | 2025-10-01 14:18:47.356401 | PLAY [crc] 2025-10-01 14:18:47.385520 | 2025-10-01 14:18:47.385660 | TASK [Create compressed log tar gz file - crc-cloud logs] 2025-10-01 14:18:48.175414 | crc | tar: Removing leading `/' from member names 2025-10-01 14:18:48.181823 | crc | tar: /var/home/core/workdir/*log: Cannot stat: No such file or directory 2025-10-01 14:18:48.181870 | crc | tar: Exiting with failure status due to previous errors 2025-10-01 14:18:48.428777 | crc | ok 2025-10-01 14:18:48.446293 | 2025-10-01 14:18:48.446491 | TASK [Copy crc-cloud logs] 2025-10-01 14:18:48.847069 | crc | cp: cannot stat '/var/home/core/workdir/*log': No such file or directory 2025-10-01 14:18:49.019713 | crc | ok 2025-10-01 14:18:49.074587 | 2025-10-01 14:18:49.074702 | PLAY RECAP 2025-10-01 14:18:49.074787 | crc | ok: 2 changed: 0 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2025-10-01 14:18:49.074819 | 2025-10-01 14:18:49.182281 | POST-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/crc/compress-crc-cloud-logs.yaml@master] 2025-10-01 14:18:49.190705 | POST-RUN START: [trusted : review.rdoproject.org/config/playbooks/crc/compress-logs.yaml@master] 2025-10-01 14:18:49.857336 | 2025-10-01 14:18:49.857465 | PLAY [all] 2025-10-01 14:18:49.949238 | 2025-10-01 14:18:49.949394 | TASK [Create compressed log tar gz file - ci-framework-data] 2025-10-01 14:18:50.704258 | controller | tar: Removing leading `/' from member names 2025-10-01 14:18:50.862383 | crc | tar: Removing leading `/' from member names 2025-10-01 14:18:50.862522 | crc | tar: /var/home/core/ci-framework-data: Cannot stat: No such file or directory 2025-10-01 14:18:50.864998 | crc | tar: Exiting with failure status due to previous errors 2025-10-01 14:18:50.869634 | 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-10-01 14:18:50.881946 | 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-10-01 14:18:51.151270 | crc | ERROR 2025-10-01 14:18:51.151801 | crc | { 2025-10-01 14:18:51.151881 | crc | "delta": "0:00:00.028289", 2025-10-01 14:18:51.151928 | crc | "end": "2025-10-01 14:18:50.882653", 2025-10-01 14:18:51.151967 | crc | "msg": "non-zero return code", 2025-10-01 14:18:51.152004 | crc | "rc": 1, 2025-10-01 14:18:51.152042 | crc | "start": "2025-10-01 14:18:50.854364" 2025-10-01 14:18:51.152078 | crc | } 2025-10-01 14:18:51.152146 | crc | ERROR: Ignoring Errors 2025-10-01 14:18:56.467530 | controller | ok 2025-10-01 14:18:56.509395 | 2025-10-01 14:18:56.509517 | TASK [Create compressed log tar gz file - zuul-output] 2025-10-01 14:18:57.020737 | controller | tar: Removing leading `/' from member names 2025-10-01 14:18:57.068681 | crc | tar: Removing leading `/' from member names 2025-10-01 14:18:57.248430 | crc | ok 2025-10-01 14:18:58.919185 | controller | ok 2025-10-01 14:18:59.157254 | 2025-10-01 14:18:59.157385 | PLAY RECAP 2025-10-01 14:18:59.157440 | controller | ok: 2 changed: 0 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2025-10-01 14:18:59.157476 | crc | ok: 2 changed: 0 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 1 2025-10-01 14:18:59.157501 | 2025-10-01 14:18:59.274399 | POST-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/crc/compress-logs.yaml@master] 2025-10-01 14:18:59.278437 | POST-RUN START: [trusted : review.rdoproject.org/config/playbooks/crc/bootstraped-ci-network-cleanup.yml@master] 2025-10-01 14:18:59.875820 | 2025-10-01 14:18:59.875937 | PLAY [Run playbooks/crc/bootstraped-ci-network-cleanup.yml] 2025-10-01 14:18:59.954467 | 2025-10-01 14:18:59.954613 | TASK [Create openstack config dir] 2025-10-01 14:19:00.605141 | controller | ok 2025-10-01 14:19:00.640655 | 2025-10-01 14:19:00.640852 | TASK [Check for cleanup skip flag file presence] 2025-10-01 14:19:01.058461 | controller | ok 2025-10-01 14:19:01.093118 | 2025-10-01 14:19:01.093327 | TASK [Generate clouds config from cloud_secrets secret] 2025-10-01 14:19:02.184268 | controller | changed 2025-10-01 14:19:02.216405 | 2025-10-01 14:19:02.216604 | LOOP [Delete ports from each host] 2025-10-01 14:19:02.419093 | controller | ok: "crc" 2025-10-01 14:19:05.358663 | controller | ok: "controller" 2025-10-01 14:19:05.409635 | controller | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/trusted/project_0/review.rdoproject.org/config/playbooks/crc/bootstraped-ci-network-cleanup-instance-ports.yml 2025-10-01 14:19:05.414471 | controller | included: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/trusted/project_0/review.rdoproject.org/config/playbooks/crc/bootstraped-ci-network-cleanup-instance-ports.yml 2025-10-01 14:19:05.446248 | 2025-10-01 14:19:05.446368 | TASK [Fetch port info] 2025-10-01 14:19:07.549353 | controller | admin_state_up: true 2025-10-01 14:19:07.549542 | controller | allowed_address_pairs: [] 2025-10-01 14:19:07.549763 | controller | binding_host_id: null 2025-10-01 14:19:07.549911 | controller | binding_profile: {} 2025-10-01 14:19:07.550043 | controller | binding_vif_details: {} 2025-10-01 14:19:07.550189 | controller | binding_vif_type: null 2025-10-01 14:19:07.550361 | controller | binding_vnic_type: normal 2025-10-01 14:19:07.550538 | controller | created_at: '2025-10-01T13:35:36Z' 2025-10-01 14:19:07.550682 | controller | data_plane_status: null 2025-10-01 14:19:07.550807 | controller | description: '' 2025-10-01 14:19:07.550968 | controller | device_id: 75fe681e-c594-4ab2-ad84-cd261c47a27a 2025-10-01 14:19:07.551106 | controller | device_owner: compute:nova 2025-10-01 14:19:07.551240 | controller | device_profile: null 2025-10-01 14:19:07.551665 | controller | dns_assignment: 2025-10-01 14:19:07.551789 | controller | - fqdn: host-192-168-122-10.openstacklocal. 2025-10-01 14:19:07.551804 | controller | hostname: host-192-168-122-10 2025-10-01 14:19:07.551817 | controller | ip_address: 192.168.122.10 2025-10-01 14:19:07.551830 | controller | dns_domain: '' 2025-10-01 14:19:07.551918 | controller | dns_name: '' 2025-10-01 14:19:07.552050 | controller | extra_dhcp_opts: [] 2025-10-01 14:19:07.552351 | controller | fixed_ips: 2025-10-01 14:19:07.552498 | controller | - ip_address: 192.168.122.10 2025-10-01 14:19:07.552517 | controller | subnet_id: 50f9264b-a41a-4e7d-a893-f2635852c2d0 2025-10-01 14:19:07.552531 | controller | hardware_offload_type: null 2025-10-01 14:19:07.552623 | controller | hints: '' 2025-10-01 14:19:07.552761 | controller | id: bd1a3d8a-9911-4914-b08b-7d057035dcc9 2025-10-01 14:19:07.552898 | controller | ip_allocation: immediate 2025-10-01 14:19:07.553040 | controller | mac_address: fa:16:3e:21:c3:dd 2025-10-01 14:19:07.553335 | controller | name: crc-75fe681e-c594-4ab2-ad84-cd261c47a27a 2025-10-01 14:19:07.553519 | controller | network_id: 89e75ebc-a11f-427f-924d-31d0807c262b 2025-10-01 14:19:07.553657 | controller | numa_affinity_policy: null 2025-10-01 14:19:07.553838 | controller | port_security_enabled: false 2025-10-01 14:19:07.554000 | controller | project_id: 4b633c451ac74233be3721a3635275e5 2025-10-01 14:19:07.554136 | controller | propagate_uplink_status: null 2025-10-01 14:19:07.554271 | controller | resource_request: null 2025-10-01 14:19:07.554461 | controller | revision_number: 4 2025-10-01 14:19:07.554599 | controller | qos_network_policy_id: null 2025-10-01 14:19:07.554730 | controller | qos_policy_id: null 2025-10-01 14:19:07.554865 | controller | security_group_ids: [] 2025-10-01 14:19:07.554989 | controller | status: ACTIVE 2025-10-01 14:19:07.555108 | controller | tags: [] 2025-10-01 14:19:07.555239 | controller | trunk_details: null 2025-10-01 14:19:07.555381 | controller | trusted: null 2025-10-01 14:19:07.555551 | controller | updated_at: '2025-10-01T13:35:50Z' 2025-10-01 14:19:08.108191 | controller | changed 2025-10-01 14:19:08.148401 | 2025-10-01 14:19:08.148539 | TASK [Set port info yaml for further usage] 2025-10-01 14:19:08.240003 | controller | ok 2025-10-01 14:19:08.264080 | 2025-10-01 14:19:08.264168 | TASK [Detach port] 2025-10-01 14:19:10.928386 | controller | changed 2025-10-01 14:19:11.010298 | 2025-10-01 14:19:11.010436 | LOOP [Delete port association with trunk network] 2025-10-01 14:19:11.126428 | 2025-10-01 14:19:11.126661 | LOOP [Delete trunk sub ports (tagged ones)] 2025-10-01 14:19:11.254237 | 2025-10-01 14:19:11.254463 | TASK [Delete the trunk network itself] 2025-10-01 14:19:11.932377 | controller | skipping: Conditional result was False 2025-10-01 14:19:11.958051 | 2025-10-01 14:19:11.958199 | TASK [Remove the parent/trunk port itself] 2025-10-01 14:19:24.674386 | controller | changed 2025-10-01 14:19:24.714573 | 2025-10-01 14:19:24.714709 | TASK [Fetch port info] 2025-10-01 14:19:36.723769 | controller | admin_state_up: true 2025-10-01 14:19:36.723960 | controller | allowed_address_pairs: [] 2025-10-01 14:19:36.724178 | controller | binding_host_id: null 2025-10-01 14:19:36.724287 | controller | binding_profile: {} 2025-10-01 14:19:36.724386 | controller | binding_vif_details: {} 2025-10-01 14:19:36.724506 | controller | binding_vif_type: null 2025-10-01 14:19:36.724634 | controller | binding_vnic_type: normal 2025-10-01 14:19:36.724749 | controller | created_at: '2025-10-01T13:35:22Z' 2025-10-01 14:19:36.724852 | controller | data_plane_status: null 2025-10-01 14:19:36.724957 | controller | description: '' 2025-10-01 14:19:36.725101 | controller | device_id: 11b705bf-6fbb-4506-90aa-448e4262c074 2025-10-01 14:19:36.725207 | controller | device_owner: compute:nova 2025-10-01 14:19:36.725305 | controller | device_profile: null 2025-10-01 14:19:36.725628 | controller | dns_assignment: 2025-10-01 14:19:36.725722 | controller | - fqdn: host-192-168-122-11.openstacklocal. 2025-10-01 14:19:36.725730 | controller | hostname: host-192-168-122-11 2025-10-01 14:19:36.725736 | controller | ip_address: 192.168.122.11 2025-10-01 14:19:36.725744 | controller | dns_domain: '' 2025-10-01 14:19:36.725817 | controller | dns_name: '' 2025-10-01 14:19:36.725908 | controller | extra_dhcp_opts: [] 2025-10-01 14:19:36.726146 | controller | fixed_ips: 2025-10-01 14:19:36.726248 | controller | - ip_address: 192.168.122.11 2025-10-01 14:19:36.726256 | controller | subnet_id: 50f9264b-a41a-4e7d-a893-f2635852c2d0 2025-10-01 14:19:36.726264 | controller | hardware_offload_type: null 2025-10-01 14:19:36.726336 | controller | hints: '' 2025-10-01 14:19:36.726458 | controller | id: a1ad50e4-32d2-444c-b964-d4942945f6d3 2025-10-01 14:19:36.726557 | controller | ip_allocation: immediate 2025-10-01 14:19:36.726654 | controller | mac_address: fa:16:3e:91:43:cb 2025-10-01 14:19:36.726778 | controller | name: controller-11b705bf-6fbb-4506-90aa-448e4262c074 2025-10-01 14:19:36.726921 | controller | network_id: 89e75ebc-a11f-427f-924d-31d0807c262b 2025-10-01 14:19:36.727032 | controller | numa_affinity_policy: null 2025-10-01 14:19:36.727196 | controller | port_security_enabled: false 2025-10-01 14:19:36.727327 | controller | project_id: 4b633c451ac74233be3721a3635275e5 2025-10-01 14:19:36.727442 | controller | propagate_uplink_status: null 2025-10-01 14:19:36.727540 | controller | resource_request: null 2025-10-01 14:19:36.727672 | controller | revision_number: 4 2025-10-01 14:19:36.727773 | controller | qos_network_policy_id: null 2025-10-01 14:19:36.727868 | controller | qos_policy_id: null 2025-10-01 14:19:36.727967 | controller | security_group_ids: [] 2025-10-01 14:19:36.728086 | controller | status: ACTIVE 2025-10-01 14:19:36.728197 | controller | tags: [] 2025-10-01 14:19:36.728318 | controller | trunk_details: null 2025-10-01 14:19:36.728450 | controller | trusted: null 2025-10-01 14:19:36.728607 | controller | updated_at: '2025-10-01T13:35:35Z' 2025-10-01 14:19:36.951576 | controller | changed 2025-10-01 14:19:36.994289 | 2025-10-01 14:19:36.994458 | TASK [Set port info yaml for further usage] 2025-10-01 14:19:37.188065 | controller | ok 2025-10-01 14:19:37.227941 | 2025-10-01 14:19:37.228105 | TASK [Detach port] 2025-10-01 14:19:51.937339 | controller | changed 2025-10-01 14:19:51.970689 | 2025-10-01 14:19:51.970843 | LOOP [Delete port association with trunk network] 2025-10-01 14:19:52.071477 | 2025-10-01 14:19:52.071654 | LOOP [Delete trunk sub ports (tagged ones)] 2025-10-01 14:19:52.191777 | 2025-10-01 14:19:52.191952 | TASK [Delete the trunk network itself] 2025-10-01 14:19:52.822957 | controller | skipping: Conditional result was False 2025-10-01 14:19:52.878248 | 2025-10-01 14:19:52.878414 | TASK [Remove the parent/trunk port itself] 2025-10-01 14:20:07.084289 | controller | changed 2025-10-01 14:20:07.108435 | 2025-10-01 14:20:07.108555 | TASK [Dettach router from subnet] 2025-10-01 14:20:07.776115 | controller | skipping: Conditional result was False 2025-10-01 14:20:07.832195 | 2025-10-01 14:20:07.832338 | TASK [Delete router] 2025-10-01 14:20:08.469081 | controller | skipping: Conditional result was False 2025-10-01 14:20:08.589298 | 2025-10-01 14:20:08.589494 | TASK [Delete subnet] 2025-10-01 14:20:21.781721 | controller | changed 2025-10-01 14:20:21.835338 | 2025-10-01 14:20:21.835465 | TASK [Delete network] 2025-10-01 14:20:36.524539 | controller | changed 2025-10-01 14:20:36.570787 | 2025-10-01 14:20:36.571098 | TASK [Remove clouds.yml secret] 2025-10-01 14:20:36.931977 | controller | changed 2025-10-01 14:20:37.031042 | 2025-10-01 14:20:37.031148 | PLAY RECAP 2025-10-01 14:20:37.031190 | controller | ok: 16 changed: 10 unreachable: 0 failed: 0 skipped: 8 rescued: 0 ignored: 0 2025-10-01 14:20:37.031210 | 2025-10-01 14:20:37.178472 | POST-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/crc/bootstraped-ci-network-cleanup.yml@master] 2025-10-01 14:20:37.182413 | POST-RUN START: [trusted : review.rdoproject.org/config/playbooks/ci-framework-rdo-base/dlrn/dlrn-report.yaml@master] 2025-10-01 14:20:37.809912 | 2025-10-01 14:20:37.810045 | PLAY [Report DLRN results after job run] 2025-10-01 14:20:37.894586 | 2025-10-01 14:20:37.894773 | TASK [Report job status to DLRN] 2025-10-01 14:20:37.970001 | controller | ok 2025-10-01 14:20:38.045654 | 2025-10-01 14:20:38.045844 | TASK [dlrn_report : Warning if DLRN is not running] 2025-10-01 14:20:38.091177 | controller | skipping: Conditional result was False 2025-10-01 14:20:38.128697 | 2025-10-01 14:20:38.128864 | TASK [dlrn_report : Install dlrnapi-client shyaml package] 2025-10-01 14:20:38.205795 | controller | skipping: Conditional result was False 2025-10-01 14:20:38.249302 | 2025-10-01 14:20:38.249440 | TASK [dlrn_report : Install kinit related package] 2025-10-01 14:20:38.304667 | controller | skipping: Conditional result was False 2025-10-01 14:20:38.339402 | 2025-10-01 14:20:38.339543 | TASK [dlrn_report : Install dlrn kerberos related packages] 2025-10-01 14:20:38.394709 | controller | skipping: Conditional result was False 2025-10-01 14:20:38.464233 | 2025-10-01 14:20:38.464366 | TASK [Set zuul-log-path fact] 2025-10-01 14:20:38.529341 | controller | skipping: Conditional result was False 2025-10-01 14:20:38.565563 | 2025-10-01 14:20:38.565709 | TASK [dlrn_report : Set the the value of cifmw_repo_setup_promotion when multiple dlrn tags are used] 2025-10-01 14:20:38.624566 | controller | skipping: Conditional result was False 2025-10-01 14:20:38.670475 | 2025-10-01 14:20:38.670628 | TASK [Get hash related data from repo_setup role] 2025-10-01 14:20:38.716323 | controller | skipping: Conditional result was False 2025-10-01 14:20:38.763710 | 2025-10-01 14:20:38.763869 | TASK [dlrn_report : Perform kinit for DLRN kerberos authentication] 2025-10-01 14:20:39.432423 | controller | skipping: Conditional result was False 2025-10-01 14:20:39.490804 | 2025-10-01 14:20:39.490974 | TASK [dlrn_report : Set empty value for dlrnapi password] 2025-10-01 14:20:39.577098 | controller | skipping: Conditional result was False 2025-10-01 14:20:39.624532 | 2025-10-01 14:20:39.624666 | TASK [dlrn_report : Report results to dlrn for the tested hash] 2025-10-01 14:20:40.286466 | controller | skipping: Conditional result was False 2025-10-01 14:20:40.460688 | 2025-10-01 14:20:40.460808 | PLAY RECAP 2025-10-01 14:20:40.460851 | controller | ok: 0 changed: 0 unreachable: 0 failed: 0 skipped: 10 rescued: 0 ignored: 0 2025-10-01 14:20:40.460871 | 2025-10-01 14:20:40.561076 | POST-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/ci-framework-rdo-base/dlrn/dlrn-report.yaml@master] 2025-10-01 14:20:40.565202 | POST-RUN START: [trusted : review.rdoproject.org/config/playbooks/base-minimal/post-ssh.yaml@master] 2025-10-01 14:20:41.180748 | 2025-10-01 14:20:41.180873 | PLAY [all] 2025-10-01 14:20:41.277413 | 2025-10-01 14:20:41.277570 | TASK [include_role : fetch-output] 2025-10-01 14:20:41.374364 | controller | ok 2025-10-01 14:20:41.381879 | crc | ok 2025-10-01 14:20:41.442550 | 2025-10-01 14:20:41.442669 | TASK [fetch-output : Set log path for multiple nodes] 2025-10-01 14:20:41.518457 | crc | ok 2025-10-01 14:20:41.554358 | controller | ok 2025-10-01 14:20:41.577897 | 2025-10-01 14:20:41.577971 | TASK [fetch-output : Set log path for single node] 2025-10-01 14:20:41.618178 | controller | skipping: Conditional result was False 2025-10-01 14:20:41.629054 | crc | skipping: Conditional result was False 2025-10-01 14:20:41.685498 | 2025-10-01 14:20:41.685633 | LOOP [fetch-output : Ensure local output dirs] 2025-10-01 14:20:42.092814 | controller -> localhost | ok: "/var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/logs/controller" 2025-10-01 14:20:42.101658 | crc -> localhost | changed: "/var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/logs/crc" 2025-10-01 14:20:42.319223 | controller -> localhost | ok: "/var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/artifacts" 2025-10-01 14:20:42.366541 | crc -> localhost | ok: "/var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/artifacts" 2025-10-01 14:20:42.557232 | controller -> localhost | ok: "/var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/docs" 2025-10-01 14:20:42.636150 | crc -> localhost | ok: "/var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/docs" 2025-10-01 14:20:42.636321 | crc -> localhost | ok: All items complete 2025-10-01 14:20:42.636356 | 2025-10-01 14:20:42.678532 | 2025-10-01 14:20:42.678768 | LOOP [fetch-output : Collect logs, artifacts and docs] 2025-10-01 14:20:43.525936 | crc | changed: 2025-10-01 14:20:43.526194 | crc | .d..t...... ./ 2025-10-01 14:20:43.526224 | crc | >f+++++++++ crc-cloud-workdir-crc-all-logs.tar.gz 2025-10-01 14:20:43.526244 | crc | >f+++++++++ kubelet.log 2025-10-01 14:20:43.526267 | crc | >f+++++++++ zuul-output-crc-all-logs.tar.gz 2025-10-01 14:20:43.526284 | crc | cd+++++++++ crc-cloud/ 2025-10-01 14:20:43.685176 | controller | changed: 2025-10-01 14:20:43.685471 | controller | .d..t...... ./ 2025-10-01 14:20:43.685508 | controller | >f+++++++++ zuul-output-controller-all-logs.tar.gz 2025-10-01 14:20:44.084678 | crc | ok 2025-10-01 14:20:44.158374 | controller | ok 2025-10-01 14:20:44.693873 | controller | ok 2025-10-01 14:20:44.705523 | crc | ok 2025-10-01 14:20:44.813689 | 2025-10-01 14:20:44.813838 | TASK [include_role : fetch-output-openshift] 2025-10-01 14:20:44.832388 | controller | skipping: Conditional result was False 2025-10-01 14:20:44.853617 | crc | skipping: Conditional result was False 2025-10-01 14:20:44.882148 | 2025-10-01 14:20:44.882283 | LOOP [merge-output-to-logs : Move artifacts and docs to logs dir] 2025-10-01 14:20:45.378597 | controller -> localhost | ok: Item: artifacts Runtime: 0:00:00.009946 2025-10-01 14:20:45.378983 | controller -> localhost | changed: All items complete 2025-10-01 14:20:45.379018 | 2025-10-01 14:20:45.622248 | controller -> localhost | ok: Item: docs Runtime: 0:00:00.015675 2025-10-01 14:20:45.824161 | 2025-10-01 14:20:45.824337 | PLAY [all] 2025-10-01 14:20:45.912689 | 2025-10-01 14:20:45.912838 | TASK [remove-build-sshkey : Remove the build SSH key from all nodes] 2025-10-01 14:20:46.601893 | controller | changed 2025-10-01 14:20:46.784922 | crc | changed 2025-10-01 14:20:47.002346 | 2025-10-01 14:20:47.002453 | PLAY RECAP 2025-10-01 14:20:47.002498 | controller | ok: 5 changed: 3 unreachable: 0 failed: 0 skipped: 2 rescued: 0 ignored: 0 2025-10-01 14:20:47.002525 | crc | ok: 4 changed: 3 unreachable: 0 failed: 0 skipped: 2 rescued: 0 ignored: 0 2025-10-01 14:20:47.002542 | 2025-10-01 14:20:47.138689 | POST-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/base-minimal/post-ssh.yaml@master] 2025-10-01 14:20:47.148143 | POST-RUN START: [trusted : review.rdoproject.org/config/playbooks/base-minimal/post-logs.yaml@master] 2025-10-01 14:20:47.828693 | 2025-10-01 14:20:47.828844 | PLAY [localhost] 2025-10-01 14:20:47.846871 | 2025-10-01 14:20:47.847025 | TASK [generate-zuul-manifest : Generate Zuul manifest] 2025-10-01 14:20:48.396994 | localhost | changed 2025-10-01 14:20:48.401607 | 2025-10-01 14:20:48.402812 | TASK [generate-zuul-manifest : Return Zuul manifest URL to Zuul] 2025-10-01 14:20:48.444537 | localhost | ok 2025-10-01 14:20:48.453465 | 2025-10-01 14:20:48.453533 | TASK [add-fileserver : Create SSH private key tempfile] 2025-10-01 14:20:48.830465 | localhost | changed 2025-10-01 14:20:48.837037 | 2025-10-01 14:20:48.837136 | TASK [add-fileserver : Create SSH private key from secret] 2025-10-01 14:20:49.632142 | localhost | changed 2025-10-01 14:20:49.637507 | 2025-10-01 14:20:49.637570 | TASK [add-fileserver : Add fileserver ssh key] 2025-10-01 14:20:50.106535 | localhost | Identity added: /var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/tmp/ansible._bb8cagp (/var/lib/zuul/builds/5112f98d0cc645e48f337f3615fe4c49/work/tmp/ansible._bb8cagp) 2025-10-01 14:20:50.106701 | localhost | ok: Runtime: 0:00:00.016493 2025-10-01 14:20:50.111162 | 2025-10-01 14:20:50.111224 | TASK [add-fileserver : Remove SSH private key from disk] 2025-10-01 14:20:50.381982 | localhost | ok: Runtime: 0:00:00.008046 2025-10-01 14:20:50.386638 | 2025-10-01 14:20:50.386701 | TASK [add-fileserver : Add fileserver to inventory] 2025-10-01 14:20:50.470259 | localhost | changed 2025-10-01 14:20:50.477811 | 2025-10-01 14:20:50.477992 | TASK [add-fileserver : Add fileserver server to known hosts] 2025-10-01 14:20:50.939685 | localhost | changed 2025-10-01 14:20:51.000587 | 2025-10-01 14:20:51.000693 | PLAY [localhost] 2025-10-01 14:20:51.012294 | 2025-10-01 14:20:51.012362 | TASK [Generate bulk log download script] 2025-10-01 14:20:51.030489 | localhost | ok 2025-10-01 14:20:51.042459 | 2025-10-01 14:20:51.042556 | TASK [local-log-download : Check API endpoint is defined] 2025-10-01 14:20:51.091451 | localhost | ok: All assertions passed 2025-10-01 14:20:51.097477 | 2025-10-01 14:20:51.097583 | TASK [local-log-download : Create download script] 2025-10-01 14:20:51.542849 | localhost -> localhost | changed 2025-10-01 14:20:51.558280 | 2025-10-01 14:20:51.558494 | TASK [Register quick-download link] 2025-10-01 14:20:51.592772 | localhost | ok 2025-10-01 14:20:51.622518 | 2025-10-01 14:20:51.622759 | PLAY [logserver.rdoproject.org] 2025-10-01 14:20:51.641809 | 2025-10-01 14:20:51.642032 | TASK [Set zuul-log-path fact] 2025-10-01 14:20:51.666311 | logserver.rdoproject.org | ok 2025-10-01 14:20:51.682834 | 2025-10-01 14:20:51.683052 | TASK [set-zuul-log-path-fact : Set log path for a build] 2025-10-01 14:20:51.725298 | logserver.rdoproject.org | ok 2025-10-01 14:20:51.734839 | 2025-10-01 14:20:51.735073 | TASK [upload-logs : Create log directories] 2025-10-01 14:20:52.455313 | logserver.rdoproject.org | changed 2025-10-01 14:20:52.459040 | 2025-10-01 14:20:52.459118 | TASK [upload-logs : Ensure logs are readable before uploading] 2025-10-01 14:20:52.845253 | logserver.rdoproject.org -> localhost | ok: Runtime: 0:00:00.043216 2025-10-01 14:20:52.852229 | 2025-10-01 14:20:52.852325 | TASK [upload-logs : Upload logs to log server] 2025-10-01 14:20:56.851514 | logserver.rdoproject.org | Output suppressed because no_log was given 2025-10-01 14:20:56.856181 | 2025-10-01 14:20:56.856269 | LOOP [upload-logs : Compress console log and json output] 2025-10-01 14:20:56.917084 | logserver.rdoproject.org | skipping: Conditional result was False 2025-10-01 14:20:56.931801 | logserver.rdoproject.org | skipping: Conditional result was False 2025-10-01 14:20:56.943762 | 2025-10-01 14:20:56.943881 | LOOP [upload-logs : Upload compressed console log and json output] 2025-10-01 14:20:56.986868 | logserver.rdoproject.org | skipping: Conditional result was False 2025-10-01 14:20:56.987160 | 2025-10-01 14:20:56.990701 | logserver.rdoproject.org | skipping: Conditional result was False 2025-10-01 14:20:57.003837 | 2025-10-01 14:20:57.003957 | LOOP [upload-logs : Upload console log and json output]