2025-11-25 08:27:51.064606 | Job console starting... 2025-11-25 08:27:51.079994 | Updating repositories 2025-11-25 08:27:51.221263 | Preparing job workspace 2025-11-25 08:28:03.066519 | Running Ansible setup... 2025-11-25 08:28:08.839974 | PRE-RUN START: [trusted : review.rdoproject.org/config/playbooks/base-minimal/pre.yaml@master] 2025-11-25 08:28:09.473025 | 2025-11-25 08:28:09.473131 | PLAY [localhost] 2025-11-25 08:28:09.481453 | 2025-11-25 08:28:09.481518 | TASK [Gathering Facts] 2025-11-25 08:28:10.453348 | localhost | ok 2025-11-25 08:28:10.485874 | 2025-11-25 08:28:10.486076 | TASK [log-inventory : Ensure Zuul Ansible directory exists] 2025-11-25 08:28:10.896926 | localhost -> localhost | changed 2025-11-25 08:28:10.902773 | 2025-11-25 08:28:10.902841 | TASK [log-inventory : Copy ansible inventory to logs dir] 2025-11-25 08:28:11.773610 | localhost -> localhost | changed 2025-11-25 08:28:11.793489 | 2025-11-25 08:28:11.793636 | TASK [Setup log path fact] 2025-11-25 08:28:11.816431 | localhost | ok 2025-11-25 08:28:11.832431 | 2025-11-25 08:28:11.832523 | TASK [set-zuul-log-path-fact : Set log path for a build] 2025-11-25 08:28:11.862809 | localhost | ok 2025-11-25 08:28:11.875367 | 2025-11-25 08:28:11.875454 | TASK [emit-job-header : Print job information] 2025-11-25 08:28:11.915920 | # Job Information 2025-11-25 08:28:11.916106 | Ansible Version: 2.15.12 2025-11-25 08:28:11.916141 | Job: keystone-operator-kuttl 2025-11-25 08:28:11.916168 | Pipeline: github-check 2025-11-25 08:28:11.916192 | Executor: ze04.softwarefactory-project.io 2025-11-25 08:28:11.916217 | Triggered by: https://github.com/openstack-k8s-operators/keystone-operator/pull/652 2025-11-25 08:28:11.916241 | Log URL (when completed): https://logserver.rdoproject.org/ff4/rdoproject.org/ff418e7537c24c4c96d27225f029c73c/ 2025-11-25 08:28:11.916266 | Event ID: 9c4e4e80-c9d5-11f0-937c-403133d623ed 2025-11-25 08:28:11.921459 | 2025-11-25 08:28:11.921549 | LOOP [emit-job-header : Print node information] 2025-11-25 08:28:12.027399 | localhost | ok: 2025-11-25 08:28:12.027624 | localhost | # Node Information 2025-11-25 08:28:12.027651 | localhost | Inventory Hostname: controller 2025-11-25 08:28:12.027673 | localhost | Hostname: np0005534592 2025-11-25 08:28:12.027721 | localhost | Username: zuul 2025-11-25 08:28:12.027743 | localhost | Distro: CentOS 9 2025-11-25 08:28:12.027760 | localhost | Provider: vexxhost-nodepool-tripleo 2025-11-25 08:28:12.027777 | localhost | Region: RegionOne 2025-11-25 08:28:12.027794 | localhost | Label: cloud-centos-9-stream-tripleo-medium 2025-11-25 08:28:12.027810 | localhost | Product Name: OpenStack Nova 2025-11-25 08:28:12.027826 | localhost | Interface IP: 38.102.83.98 2025-11-25 08:28:12.095299 | localhost | ok: 2025-11-25 08:28:12.095359 | localhost | # Node Information 2025-11-25 08:28:12.095381 | localhost | Inventory Hostname: crc 2025-11-25 08:28:12.095400 | localhost | Hostname: crc 2025-11-25 08:28:12.095418 | localhost | Username: core 2025-11-25 08:28:12.095434 | localhost | Distro: RedHat 4.18 2025-11-25 08:28:12.095451 | localhost | Provider: vexxhost-nodepool-tripleo 2025-11-25 08:28:12.095467 | localhost | Region: RegionOne 2025-11-25 08:28:12.095483 | localhost | Label: crc-cloud-ocp-4-18-1-3xl 2025-11-25 08:28:12.095499 | localhost | Product Name: OpenStack Nova 2025-11-25 08:28:12.095515 | localhost | Interface IP: 38.102.83.222 2025-11-25 08:28:12.138747 | 2025-11-25 08:28:12.138888 | PLAY [all] 2025-11-25 08:28:12.149879 | 2025-11-25 08:28:12.149967 | TASK [Gather network facts] 2025-11-25 08:28:12.611729 | controller | ok 2025-11-25 08:28:12.880733 | crc | ok 2025-11-25 08:28:12.931385 | 2025-11-25 08:28:12.931479 | TASK [include_role : start-zuul-console] 2025-11-25 08:28:12.968479 | controller | ok 2025-11-25 08:28:12.980120 | crc | ok 2025-11-25 08:28:13.009980 | 2025-11-25 08:28:13.010063 | TASK [start-zuul-console : Start zuul_console daemon.] 2025-11-25 08:28:13.408410 | crc | ok 2025-11-25 08:28:13.418903 | controller | ok 2025-11-25 08:28:13.448219 | 2025-11-25 08:28:13.448299 | TASK [include_role : add-build-sshkey] 2025-11-25 08:28:13.488347 | controller | ok 2025-11-25 08:28:13.498357 | crc | ok 2025-11-25 08:28:13.524641 | 2025-11-25 08:28:13.524733 | TASK [add-build-sshkey : Check to see if ssh key was already created for this build] 2025-11-25 08:28:13.806202 | controller -> localhost | ok 2025-11-25 08:28:13.818205 | 2025-11-25 08:28:13.818337 | TASK [add-build-sshkey : Create a new key in workspace based on build UUID] 2025-11-25 08:28:13.866948 | controller | ok 2025-11-25 08:28:13.884374 | crc | ok 2025-11-25 08:28:13.945432 | controller | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/create-key-and-replace.yaml 2025-11-25 08:28:13.945565 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/create-key-and-replace.yaml 2025-11-25 08:28:13.952287 | 2025-11-25 08:28:13.952359 | TASK [add-build-sshkey : Create Temp SSH key] 2025-11-25 08:28:14.702842 | controller -> localhost | Generating public/private rsa key pair. 2025-11-25 08:28:14.703228 | controller -> localhost | Your identification has been saved in /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/ff418e7537c24c4c96d27225f029c73c_id_rsa. 2025-11-25 08:28:14.703289 | controller -> localhost | Your public key has been saved in /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/ff418e7537c24c4c96d27225f029c73c_id_rsa.pub. 2025-11-25 08:28:14.703339 | controller -> localhost | The key fingerprint is: 2025-11-25 08:28:14.703384 | controller -> localhost | SHA256:JI9F3y004Q6xmBfQwNCRq091qpjr8112Tz7sEaZul2U zuul-build-sshkey 2025-11-25 08:28:14.703428 | controller -> localhost | The key's randomart image is: 2025-11-25 08:28:14.703469 | controller -> localhost | +---[RSA 3072]----+ 2025-11-25 08:28:14.703509 | controller -> localhost | | .+=*o +. | 2025-11-25 08:28:14.703551 | controller -> localhost | | .++.B o | 2025-11-25 08:28:14.703591 | controller -> localhost | | . =.= + . | 2025-11-25 08:28:14.703631 | controller -> localhost | | *...o.. | 2025-11-25 08:28:14.703732 | controller -> localhost | | ..S. o. o | 2025-11-25 08:28:14.703777 | controller -> localhost | | . . . o E| 2025-11-25 08:28:14.703817 | controller -> localhost | | = . o.oo+| 2025-11-25 08:28:14.703856 | controller -> localhost | | + o. o.o O.| 2025-11-25 08:28:14.703894 | controller -> localhost | | .o+. . ..o.+| 2025-11-25 08:28:14.703932 | controller -> localhost | +----[SHA256]-----+ 2025-11-25 08:28:14.704017 | controller -> localhost | ok: Runtime: 0:00:00.274044 2025-11-25 08:28:14.717729 | 2025-11-25 08:28:14.717883 | TASK [add-build-sshkey : Remote setup ssh keys (linux)] 2025-11-25 08:28:14.765747 | controller | ok 2025-11-25 08:28:14.779866 | crc | ok 2025-11-25 08:28:14.804207 | controller | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/remote-linux.yaml 2025-11-25 08:28:14.804280 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/remote-linux.yaml 2025-11-25 08:28:14.820846 | 2025-11-25 08:28:14.820908 | TASK [add-build-sshkey : Remove previously added zuul-build-sshkey] 2025-11-25 08:28:14.849458 | controller | skipping: Conditional result was False 2025-11-25 08:28:14.870501 | crc | skipping: Conditional result was False 2025-11-25 08:28:14.876641 | 2025-11-25 08:28:14.876732 | TASK [add-build-sshkey : Enable access via build key on all nodes] 2025-11-25 08:28:15.355108 | controller | changed 2025-11-25 08:28:15.574272 | crc | changed 2025-11-25 08:28:15.588147 | 2025-11-25 08:28:15.588311 | TASK [add-build-sshkey : Make sure user has a .ssh] 2025-11-25 08:28:15.885757 | controller | ok 2025-11-25 08:28:15.919486 | crc | ok 2025-11-25 08:28:15.930293 | 2025-11-25 08:28:15.930429 | TASK [add-build-sshkey : Install build private key as SSH key on all nodes] 2025-11-25 08:28:16.692263 | controller | changed 2025-11-25 08:28:16.757158 | crc | changed 2025-11-25 08:28:16.768089 | 2025-11-25 08:28:16.768216 | TASK [add-build-sshkey : Install build public key as SSH key on all nodes] 2025-11-25 08:28:17.588307 | crc | changed 2025-11-25 08:28:17.599947 | controller | changed 2025-11-25 08:28:17.609840 | 2025-11-25 08:28:17.609941 | TASK [add-build-sshkey : Remote setup ssh keys (windows)] 2025-11-25 08:28:17.644984 | controller | skipping: Conditional result was False 2025-11-25 08:28:17.656152 | crc | skipping: Conditional result was False 2025-11-25 08:28:17.665725 | 2025-11-25 08:28:17.665827 | TASK [remove-zuul-sshkey : Remove master key from local agent] 2025-11-25 08:28:18.080409 | controller -> localhost | changed 2025-11-25 08:28:18.116845 | 2025-11-25 08:28:18.116983 | TASK [add-build-sshkey : Add back temp key] 2025-11-25 08:28:18.483389 | controller -> localhost | Identity added: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/ff418e7537c24c4c96d27225f029c73c_id_rsa (zuul-build-sshkey) 2025-11-25 08:28:18.483901 | controller -> localhost | ok: Runtime: 0:00:00.017668 2025-11-25 08:28:18.496375 | 2025-11-25 08:28:18.496511 | TASK [add-build-sshkey : Verify we can still SSH to all nodes] 2025-11-25 08:28:18.864634 | crc | ok 2025-11-25 08:28:18.875096 | controller | ok 2025-11-25 08:28:18.885168 | 2025-11-25 08:28:18.885300 | TASK [add-build-sshkey : Verify we can still SSH to all nodes (windows)] 2025-11-25 08:28:18.932146 | controller | skipping: Conditional result was False 2025-11-25 08:28:18.953798 | crc | skipping: Conditional result was False 2025-11-25 08:28:18.976054 | 2025-11-25 08:28:18.976144 | TASK [include_role : validate-host] 2025-11-25 08:28:19.018259 | controller | ok 2025-11-25 08:28:19.026515 | crc | ok 2025-11-25 08:28:19.056093 | 2025-11-25 08:28:19.056161 | TASK [validate-host : Define zuul_info_dir fact] 2025-11-25 08:28:19.099190 | controller | ok 2025-11-25 08:28:19.117321 | crc | ok 2025-11-25 08:28:19.121785 | 2025-11-25 08:28:19.121842 | TASK [validate-host : Ensure Zuul Ansible directory exists] 2025-11-25 08:28:19.422307 | controller -> localhost | ok 2025-11-25 08:28:19.428646 | 2025-11-25 08:28:19.428723 | TASK [validate-host : Collect information about the host] 2025-11-25 08:28:20.220385 | controller | ok 2025-11-25 08:28:20.443549 | crc | ok 2025-11-25 08:28:20.470638 | 2025-11-25 08:28:20.470828 | TASK [validate-host : Sanitize hostname] 2025-11-25 08:28:20.553004 | controller | ok 2025-11-25 08:28:20.570817 | crc | ok 2025-11-25 08:28:20.577423 | 2025-11-25 08:28:20.577511 | TASK [validate-host : Write out all ansible variables/facts known for each host] 2025-11-25 08:28:21.051589 | controller -> localhost | changed 2025-11-25 08:28:21.104904 | crc -> localhost | changed 2025-11-25 08:28:21.121317 | 2025-11-25 08:28:21.121502 | TASK [validate-host : Collect information about zuul worker] 2025-11-25 08:28:21.604917 | crc | ok 2025-11-25 08:28:21.615616 | controller | ok 2025-11-25 08:28:21.625805 | 2025-11-25 08:28:21.625934 | TASK [validate-host : Write out all zuul information for each host] 2025-11-25 08:28:22.059153 | controller -> localhost | changed 2025-11-25 08:28:22.070885 | crc -> localhost | changed 2025-11-25 08:28:22.091043 | 2025-11-25 08:28:22.091135 | TASK [include_role : prepare-workspace-openshift] 2025-11-25 08:28:22.106629 | controller | skipping: Conditional result was False 2025-11-25 08:28:22.113120 | 2025-11-25 08:28:22.113201 | TASK [include_role : remove-zuul-sshkey] 2025-11-25 08:28:22.129064 | controller | skipping: Conditional result was False 2025-11-25 08:28:22.136988 | 2025-11-25 08:28:22.137075 | LOOP [ensure-output-dirs : Empty Zuul Output directories by removing them] 2025-11-25 08:28:22.454416 | controller | ok: "logs" 2025-11-25 08:28:22.454837 | controller | ok: All items complete 2025-11-25 08:28:22.454897 | 2025-11-25 08:28:22.467625 | crc | ok: "logs" 2025-11-25 08:28:22.703001 | crc | ok: "artifacts" 2025-11-25 08:28:22.712136 | controller | ok: "artifacts" 2025-11-25 08:28:22.967160 | controller | ok: "docs" 2025-11-25 08:28:22.979812 | crc | ok: "docs" 2025-11-25 08:28:23.004154 | 2025-11-25 08:28:23.004291 | LOOP [ensure-output-dirs : Ensure Zuul Output directories exist] 2025-11-25 08:28:23.305739 | controller | changed: "logs" 2025-11-25 08:28:23.306156 | controller | ok: All items complete 2025-11-25 08:28:23.306215 | 2025-11-25 08:28:23.347365 | crc | changed: "logs" 2025-11-25 08:28:23.584119 | controller | changed: "artifacts" 2025-11-25 08:28:23.612813 | crc | changed: "artifacts" 2025-11-25 08:28:23.813564 | controller | changed: "docs" 2025-11-25 08:28:23.859614 | crc | changed: "docs" 2025-11-25 08:28:23.957315 | 2025-11-25 08:28:23.957451 | PLAY RECAP 2025-11-25 08:28:23.957502 | controller | ok: 22 changed: 9 unreachable: 0 failed: 0 skipped: 5 rescued: 0 ignored: 0 2025-11-25 08:28:23.957526 | crc | ok: 17 changed: 6 unreachable: 0 failed: 0 skipped: 3 rescued: 0 ignored: 0 2025-11-25 08:28:23.957547 | localhost | ok: 6 changed: 2 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2025-11-25 08:28:23.957564 | 2025-11-25 08:28:24.104026 | PRE-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/base-minimal/pre.yaml@master] 2025-11-25 08:28:24.119326 | PRE-RUN START: [trusted : review.rdoproject.org/config/playbooks/ci-framework-rdo-base/pre.yaml@master] 2025-11-25 08:28:24.772526 | 2025-11-25 08:28:24.772655 | PLAY [all] 2025-11-25 08:28:24.805794 | 2025-11-25 08:28:24.805930 | TASK [mirror-info-fork : Set mirror_fqdn if not defined] 2025-11-25 08:28:24.888940 | controller | ok 2025-11-25 08:28:24.919210 | crc | ok 2025-11-25 08:28:24.925879 | 2025-11-25 08:28:24.925983 | TASK [mirror-info-fork : Create /etc/ci] 2025-11-25 08:28:25.373755 | crc | changed 2025-11-25 08:28:25.404765 | controller | changed 2025-11-25 08:28:25.454209 | 2025-11-25 08:28:25.454352 | TASK [mirror-info-fork : Install ci_mirror script] 2025-11-25 08:28:26.483708 | crc | changed 2025-11-25 08:28:26.502019 | controller | changed 2025-11-25 08:28:26.525429 | 2025-11-25 08:28:26.525579 | LOOP [add-authorized-keys : Enable access via build key on all nodes] 2025-11-25 08:28:26.990853 | controller | changed: 2025-11-25 08:28:26.991343 | controller | { 2025-11-25 08:28:26.991467 | controller | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4Z/c9osaGGtU6X8fgELwfj/yayRurfcKA0HMFfdpPxev2dbwljysMuzoVp4OZmW1gvGtyYPSNRvnzgsaabPNKNo2ym5NToCP6UM+KSe93aln4BcM/24mXChYAbXJQ5Bqq/pIzsGs/pKetQN+vwvMxLOwTvpcsCJBXaa981RKML6xj9l/UZ7IIq1HSEKMvPLxZMWdu0Ut8DkCd5F4nOw9Wgml2uYpDCj5LLCrQQ9ChdOMz8hz6SighhNlRpPkvPaet3OXxr/ytFMu7j7vv06CaEnuMMiY2aTWN1Imin9eHAylIqFHta/3gFfQSWt9jXM7owkBLKL7ATzhaAn+fjNupw== arxcruz@redhat.com" 2025-11-25 08:28:26.991557 | controller | } 2025-11-25 08:28:27.106001 | crc | changed: 2025-11-25 08:28:27.106148 | crc | { 2025-11-25 08:28:27.106200 | crc | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4Z/c9osaGGtU6X8fgELwfj/yayRurfcKA0HMFfdpPxev2dbwljysMuzoVp4OZmW1gvGtyYPSNRvnzgsaabPNKNo2ym5NToCP6UM+KSe93aln4BcM/24mXChYAbXJQ5Bqq/pIzsGs/pKetQN+vwvMxLOwTvpcsCJBXaa981RKML6xj9l/UZ7IIq1HSEKMvPLxZMWdu0Ut8DkCd5F4nOw9Wgml2uYpDCj5LLCrQQ9ChdOMz8hz6SighhNlRpPkvPaet3OXxr/ytFMu7j7vv06CaEnuMMiY2aTWN1Imin9eHAylIqFHta/3gFfQSWt9jXM7owkBLKL7ATzhaAn+fjNupw== arxcruz@redhat.com" 2025-11-25 08:28:27.106242 | crc | } 2025-11-25 08:28:27.260318 | controller | changed: 2025-11-25 08:28:27.260627 | controller | { 2025-11-25 08:28:27.260752 | controller | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDS4Fn6k4deCnIlOtLWqZJyksbepjQt04j8Ed8CGx9EKkj0fKiAxiI4TadXQYPuNHMixZy4Nevjb6aDhL5Z906TfvNHKUrjrG7G26a0k8vdc61NEQ7FmcGMWRLwwc6ReDO7lFpzYKBMk4YqfWgBuGU/K6WLKiVW2cVvwIuGIaYrE1OiiX0iVUUk7KApXlDJMXn7qjSYynfO4mF629NIp8FJal38+Kv+HA+0QkE5Y2xXnzD4Lar5+keymiCHRntPppXHeLIRzbt0gxC7v3L72hpQ3BTBEzwHpeS8KY+SX1y5lRMN45thCHfJqGmARJREDjBvWG8JXOPmVIKQtZmVcD5b mandreou@redhat.com" 2025-11-25 08:28:27.260820 | controller | } 2025-11-25 08:28:27.473064 | crc | changed: 2025-11-25 08:28:27.473211 | crc | { 2025-11-25 08:28:27.473259 | crc | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDS4Fn6k4deCnIlOtLWqZJyksbepjQt04j8Ed8CGx9EKkj0fKiAxiI4TadXQYPuNHMixZy4Nevjb6aDhL5Z906TfvNHKUrjrG7G26a0k8vdc61NEQ7FmcGMWRLwwc6ReDO7lFpzYKBMk4YqfWgBuGU/K6WLKiVW2cVvwIuGIaYrE1OiiX0iVUUk7KApXlDJMXn7qjSYynfO4mF629NIp8FJal38+Kv+HA+0QkE5Y2xXnzD4Lar5+keymiCHRntPppXHeLIRzbt0gxC7v3L72hpQ3BTBEzwHpeS8KY+SX1y5lRMN45thCHfJqGmARJREDjBvWG8JXOPmVIKQtZmVcD5b mandreou@redhat.com" 2025-11-25 08:28:27.473314 | crc | } 2025-11-25 08:28:27.516889 | controller | changed: 2025-11-25 08:28:27.517131 | controller | { 2025-11-25 08:28:27.517192 | controller | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9MiLfy30deHA7xPOAlew5qUq3UP2gmRMYJi8PtkjFB20/DKeWwWNnkZPqP9AayruRoo51SIiVg870gbZE2jYl+Ncx/FYDe56JeC3ySZsXoAVkC9bP7gkOGqOmJjirvAgPMI7bogVz8i+66Q4Ar7OKTp3762G4IuWPPEg4ce4Y7lx9qWocZapHYq4cYKMxrOZ7SEbFSATBbe2bPZAPKTw8do/Eny+Hq/LkHFhIeyra6cqTFQYShr+zPln0Cr+ro/pDX3bB+1ubFgTpjpkkkQsLhDfR6cCdCWM2lgnS3BTtYj5Ct9/JRPR5YOphqZz+uB+OEu2IL68hmU9vNTth1KeX rlandy@redhat.com" 2025-11-25 08:28:27.517236 | controller | } 2025-11-25 08:28:27.804115 | controller | changed: 2025-11-25 08:28:27.804214 | controller | { 2025-11-25 08:28:27.804246 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCbgz8gdERiJlk2IKOtkjQxEXejrio6ZYMJAVJYpOIp raukadah@gmail.com" 2025-11-25 08:28:27.804272 | controller | } 2025-11-25 08:28:27.859021 | crc | changed: 2025-11-25 08:28:27.859128 | crc | { 2025-11-25 08:28:27.859159 | crc | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9MiLfy30deHA7xPOAlew5qUq3UP2gmRMYJi8PtkjFB20/DKeWwWNnkZPqP9AayruRoo51SIiVg870gbZE2jYl+Ncx/FYDe56JeC3ySZsXoAVkC9bP7gkOGqOmJjirvAgPMI7bogVz8i+66Q4Ar7OKTp3762G4IuWPPEg4ce4Y7lx9qWocZapHYq4cYKMxrOZ7SEbFSATBbe2bPZAPKTw8do/Eny+Hq/LkHFhIeyra6cqTFQYShr+zPln0Cr+ro/pDX3bB+1ubFgTpjpkkkQsLhDfR6cCdCWM2lgnS3BTtYj5Ct9/JRPR5YOphqZz+uB+OEu2IL68hmU9vNTth1KeX rlandy@redhat.com" 2025-11-25 08:28:27.859187 | crc | } 2025-11-25 08:28:28.120001 | controller | changed: 2025-11-25 08:28:28.120099 | controller | { 2025-11-25 08:28:28.120131 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBqb3Q/9uDf4LmihQ7xeJ9gA/STIQUFPSfyyV0m8AoQi bshewale@redhat.com" 2025-11-25 08:28:28.120157 | controller | } 2025-11-25 08:28:28.223821 | crc | changed: 2025-11-25 08:28:28.223961 | crc | { 2025-11-25 08:28:28.224009 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCbgz8gdERiJlk2IKOtkjQxEXejrio6ZYMJAVJYpOIp raukadah@gmail.com" 2025-11-25 08:28:28.224048 | crc | } 2025-11-25 08:28:28.425361 | controller | changed: 2025-11-25 08:28:28.425523 | controller | { 2025-11-25 08:28:28.425580 | controller | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0I8QqQx0Az2ysJt2JuffucLijhBqnsXKEIx5GyHwxVULROa8VtNFXUDH6ZKZavhiMcmfHB2+TBTda+lDP4FldYj06dGmzCY+IYGa+uDRdxHNGYjvCfLFcmLlzRK6fNbTcui+KlUFUdKe0fb9CRoGKyhlJD5GRkM1Dv+Yb6Bj+RNnmm1fVGYxzmrD2utvffYEb0SZGWxq2R9gefx1q/3wCGjeqvufEV+AskPhVGc5T7t9eyZ4qmslkLh1/nMuaIBFcr9AUACRajsvk6mXrAN1g3HlBf2gQlhi1UEyfbqIQvzzFtsbLDlSum/KmKjy818GzvWjERfQ0VkGzCd9bSLVL dviroel@redhat.com" 2025-11-25 08:28:28.425632 | controller | } 2025-11-25 08:28:28.576584 | crc | changed: 2025-11-25 08:28:28.576775 | crc | { 2025-11-25 08:28:28.576838 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBqb3Q/9uDf4LmihQ7xeJ9gA/STIQUFPSfyyV0m8AoQi bshewale@redhat.com" 2025-11-25 08:28:28.576896 | crc | } 2025-11-25 08:28:28.715938 | controller | changed: 2025-11-25 08:28:28.716078 | controller | { 2025-11-25 08:28:28.716129 | controller | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDLOQd4ZLtkZXQGY6UwAr/06ppWQK4fDO3HaqxPk98csyOCBXsliSKK39Bso828+5srIXiW7aI6aC9P5mwi4mUZlGPfJlQbfrcGvY+b/SocuvaGK+1RrHLoJCT52LBhwgrzlXio2jeksZeein8iaTrhsPrOAs7KggIL/rB9hEiB3NaOPWhhoCP4vlW6MEMExGcqB/1FVxXFBPnLkEyW0Lk7ycVflZl2ocRxbfjZi0+tI1Wlinp8PvSQSc/WVrAcDgKjc/mB4ODPOyYy3G8FHgfMsrXSDEyjBKgLKMsdCrAUcqJQWjkqXleXSYOV4q3pzL+9umK+q/e3P/bIoSFQzmJKTU1eDfuvPXmow9F5H54fii/Da7ezlMJ+wPGHJrRAkmzvMbALy7xwswLhZMkOGNtRcPqaKYRmIBKpw3o6bCTtcNUHOtOQnzwY8JzrM2eBWJBXAANYw+9/ho80JIiwhg29CFNpVBuHbql2YxJQNrnl90guN65rYNpDxdIluweyUf8= anbanerj@kaermorhen" 2025-11-25 08:28:28.716173 | controller | } 2025-11-25 08:28:28.956170 | crc | changed: 2025-11-25 08:28:28.956411 | crc | { 2025-11-25 08:28:28.956469 | crc | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0I8QqQx0Az2ysJt2JuffucLijhBqnsXKEIx5GyHwxVULROa8VtNFXUDH6ZKZavhiMcmfHB2+TBTda+lDP4FldYj06dGmzCY+IYGa+uDRdxHNGYjvCfLFcmLlzRK6fNbTcui+KlUFUdKe0fb9CRoGKyhlJD5GRkM1Dv+Yb6Bj+RNnmm1fVGYxzmrD2utvffYEb0SZGWxq2R9gefx1q/3wCGjeqvufEV+AskPhVGc5T7t9eyZ4qmslkLh1/nMuaIBFcr9AUACRajsvk6mXrAN1g3HlBf2gQlhi1UEyfbqIQvzzFtsbLDlSum/KmKjy818GzvWjERfQ0VkGzCd9bSLVL dviroel@redhat.com" 2025-11-25 08:28:28.956512 | crc | } 2025-11-25 08:28:28.968133 | controller | changed: 2025-11-25 08:28:28.968350 | controller | { 2025-11-25 08:28:28.968406 | controller | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3VwV8Im9kRm49lt3tM36hj4Zv27FxGo4C1Q/0jqhzFmHY7RHbmeRr8ObhwWoHjXSozKWg8FL5ER0z3hTwL0W6lez3sL7hUaCmSuZmG5Hnl3x4vTSxDI9JZ/Y65rtYiiWQo2fC5xJhU/4+0e5e/pseCm8cKRSu+SaxhO+sd6FDojA2x1BzOzKiQRDy/1zWGp/cZkxcEuB1wHI5LMzN03c67vmbu+fhZRAUO4dQkvcnj2LrhQtpa+ytvnSjr8icMDosf1OsbSffwZFyHB/hfWGAfe0eIeSA2XPraxiPknXxiPKx2MJsaUTYbsZcm3EjFdHBBMumw5rBI74zLrMRvCO9GwBEmGT4rFng1nP+yw5DB8sn2zqpOsPg1LYRwCPOUveC13P6pgsZZPh812e8v5EKnETct+5XI3dVpdw6CnNiLwAyVAF15DJvBGT/u1k0Myg/bQn+Gv9k2MSj6LvQmf6WbZu2Wgjm30z3FyCneBqTL7mLF19YXzeC0ufHz5pnO1E= dasm@fedora" 2025-11-25 08:28:28.968450 | controller | } 2025-11-25 08:28:29.255026 | controller | changed: 2025-11-25 08:28:29.255180 | controller | { 2025-11-25 08:28:29.255230 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHUnwjB20UKmsSed9X73eGNV5AOEFccQ3NYrRW776pEk cjeanner" 2025-11-25 08:28:29.255270 | controller | } 2025-11-25 08:28:29.314868 | crc | changed: 2025-11-25 08:28:29.315007 | crc | { 2025-11-25 08:28:29.315056 | crc | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDLOQd4ZLtkZXQGY6UwAr/06ppWQK4fDO3HaqxPk98csyOCBXsliSKK39Bso828+5srIXiW7aI6aC9P5mwi4mUZlGPfJlQbfrcGvY+b/SocuvaGK+1RrHLoJCT52LBhwgrzlXio2jeksZeein8iaTrhsPrOAs7KggIL/rB9hEiB3NaOPWhhoCP4vlW6MEMExGcqB/1FVxXFBPnLkEyW0Lk7ycVflZl2ocRxbfjZi0+tI1Wlinp8PvSQSc/WVrAcDgKjc/mB4ODPOyYy3G8FHgfMsrXSDEyjBKgLKMsdCrAUcqJQWjkqXleXSYOV4q3pzL+9umK+q/e3P/bIoSFQzmJKTU1eDfuvPXmow9F5H54fii/Da7ezlMJ+wPGHJrRAkmzvMbALy7xwswLhZMkOGNtRcPqaKYRmIBKpw3o6bCTtcNUHOtOQnzwY8JzrM2eBWJBXAANYw+9/ho80JIiwhg29CFNpVBuHbql2YxJQNrnl90guN65rYNpDxdIluweyUf8= anbanerj@kaermorhen" 2025-11-25 08:28:29.315099 | crc | } 2025-11-25 08:28:29.507500 | controller | changed: 2025-11-25 08:28:29.507654 | controller | { 2025-11-25 08:28:29.507753 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDercCMGn8rW1C4P67tHgtflPdTeXlpyUJYH+6XDd2lR jgilaber@redhat.com" 2025-11-25 08:28:29.507801 | controller | } 2025-11-25 08:28:29.692360 | crc | changed: 2025-11-25 08:28:29.692535 | crc | { 2025-11-25 08:28:29.692586 | crc | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3VwV8Im9kRm49lt3tM36hj4Zv27FxGo4C1Q/0jqhzFmHY7RHbmeRr8ObhwWoHjXSozKWg8FL5ER0z3hTwL0W6lez3sL7hUaCmSuZmG5Hnl3x4vTSxDI9JZ/Y65rtYiiWQo2fC5xJhU/4+0e5e/pseCm8cKRSu+SaxhO+sd6FDojA2x1BzOzKiQRDy/1zWGp/cZkxcEuB1wHI5LMzN03c67vmbu+fhZRAUO4dQkvcnj2LrhQtpa+ytvnSjr8icMDosf1OsbSffwZFyHB/hfWGAfe0eIeSA2XPraxiPknXxiPKx2MJsaUTYbsZcm3EjFdHBBMumw5rBI74zLrMRvCO9GwBEmGT4rFng1nP+yw5DB8sn2zqpOsPg1LYRwCPOUveC13P6pgsZZPh812e8v5EKnETct+5XI3dVpdw6CnNiLwAyVAF15DJvBGT/u1k0Myg/bQn+Gv9k2MSj6LvQmf6WbZu2Wgjm30z3FyCneBqTL7mLF19YXzeC0ufHz5pnO1E= dasm@fedora" 2025-11-25 08:28:29.692627 | crc | } 2025-11-25 08:28:29.822529 | controller | changed: 2025-11-25 08:28:29.822714 | controller | { 2025-11-25 08:28:29.822772 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAMI6kkg9Wg0sG7jIJmyZemEBwUn1yzNpQQd3gnulOmZ adrianfuscoarnejo@gmail.com" 2025-11-25 08:28:29.822811 | controller | } 2025-11-25 08:28:30.077297 | controller | changed: 2025-11-25 08:28:30.077462 | controller | { 2025-11-25 08:28:30.077512 | controller | "public_key": "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPijwpQu/3jhhhBZInXNOLEH57DrknPc3PLbsRvYyJIFzwYjX+WD4a7+nGnMYS42MuZk6TJcVqgnqofVx4isoD4= ramishra@redhat.com" 2025-11-25 08:28:30.077565 | controller | } 2025-11-25 08:28:30.092791 | crc | changed: 2025-11-25 08:28:30.092900 | crc | { 2025-11-25 08:28:30.092948 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHUnwjB20UKmsSed9X73eGNV5AOEFccQ3NYrRW776pEk cjeanner" 2025-11-25 08:28:30.092987 | crc | } 2025-11-25 08:28:30.367118 | controller | changed: 2025-11-25 08:28:30.367220 | controller | { 2025-11-25 08:28:30.367243 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGpU/BepK3qX0NRf5Np+dOBDqzQEefhNrw2DCZaH3uWW rebtoor@monolith" 2025-11-25 08:28:30.367261 | controller | } 2025-11-25 08:28:30.448555 | crc | changed: 2025-11-25 08:28:30.448669 | crc | { 2025-11-25 08:28:30.448722 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDercCMGn8rW1C4P67tHgtflPdTeXlpyUJYH+6XDd2lR jgilaber@redhat.com" 2025-11-25 08:28:30.448744 | crc | } 2025-11-25 08:28:30.635190 | controller | changed: 2025-11-25 08:28:30.635292 | controller | { 2025-11-25 08:28:30.635316 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDK0iKdi8jQTpQrDdLVH/AAgLVYyTXF7AQ1gjc/5uT3t ykarel@yatinkarel" 2025-11-25 08:28:30.635409 | controller | } 2025-11-25 08:28:30.791039 | crc | changed: 2025-11-25 08:28:30.791199 | crc | { 2025-11-25 08:28:30.791229 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAMI6kkg9Wg0sG7jIJmyZemEBwUn1yzNpQQd3gnulOmZ adrianfuscoarnejo@gmail.com" 2025-11-25 08:28:30.791248 | crc | } 2025-11-25 08:28:30.889107 | controller | changed: 2025-11-25 08:28:30.889213 | controller | { 2025-11-25 08:28:30.889238 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF/V/cLotA6LZeO32VL45Hd78skuA2lJA425Sm2LlQeZ fmount@horcrux" 2025-11-25 08:28:30.889258 | controller | } 2025-11-25 08:28:31.140049 | crc | changed: 2025-11-25 08:28:31.140166 | crc | { 2025-11-25 08:28:31.140197 | crc | "public_key": "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPijwpQu/3jhhhBZInXNOLEH57DrknPc3PLbsRvYyJIFzwYjX+WD4a7+nGnMYS42MuZk6TJcVqgnqofVx4isoD4= ramishra@redhat.com" 2025-11-25 08:28:31.140222 | crc | } 2025-11-25 08:28:31.164621 | controller | changed: 2025-11-25 08:28:31.164715 | controller | { 2025-11-25 08:28:31.164741 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDa7QCjuDMVmRPo1rREbGwzYeBCYVN+Ou/3WKXZEC6Sr" 2025-11-25 08:28:31.164761 | controller | } 2025-11-25 08:28:31.433117 | controller | changed: 2025-11-25 08:28:31.433235 | controller | { 2025-11-25 08:28:31.433267 | controller | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCfNtF7NvKl915TGsGGoseUb06Hj8L/S4toWf0hExeY+F00woL6NvBlJD0nDct+P5a22I4EhvoQCRQ8reaPCm1lybR3uiRIJsj+8zkVvLwby9LXzfZorlNG9ofjd00FEmB09uW/YvTl6Q9XwwwX6tInzIOv3TMqTHHGOL74ibbj8J/FJR0cFEyj0z4WQRvtkh32xAHl83gbuINryMt0sqRI+clj2381NKL55DRLQrVw0gsfqqxiHAnXg21qWmc4J+b9e9kiuAFQjcjwTVkwJCcg3xbPwC/qokYRby/Y5S40UUd7/jEARGXT7RZgpzTuDd1oZiCVrnrqJNPaMNdVv5MLeFdf1B7iIe5aa/fGouX7AO4SdKhZUdnJmCFAGvjC6S3JMZ2wAcUl+OHnssfmdj7XL50cLo27vjuzMtLAgSqi6N99m92WCF2s8J9aVzszX7Xz9OKZCeGsiVJp3/NdABKzSEAyM9xBD/5Vho894Sav+otpySHe3p6RUTgbB5Zu8VyZRZ/UtB3ueXxyo764yrc6qWIDqrehm84Xm9g+/jpIBzGPl07NUNJpdt/6Sgf9RIKXw/7XypO5yZfUcuFNGTxLfqjTNrtgLZNcjfav6sSdVXVcMPL//XNuRdKmVFaO76eV/oGMQGr1fGcCD+N+CpI7+Q+fCNB6VFWG4nZFuI/Iuw== averdagu@redhat.com" 2025-11-25 08:28:31.433293 | controller | } 2025-11-25 08:28:31.482475 | crc | changed: 2025-11-25 08:28:31.482648 | crc | { 2025-11-25 08:28:31.482709 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGpU/BepK3qX0NRf5Np+dOBDqzQEefhNrw2DCZaH3uWW rebtoor@monolith" 2025-11-25 08:28:31.482739 | crc | } 2025-11-25 08:28:31.682520 | controller | changed: 2025-11-25 08:28:31.682716 | controller | { 2025-11-25 08:28:31.682777 | controller | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDq8l27xI+QlQVdS4djp9ogSoyrNE2+Ox6vKPdhSNL1J3PE5w+WCSvMz9A5gnNuH810zwbekEApbxTze/gLQJwBHA52CChfURpXrFaxY7ePXRElwKAL3mJfzBWY/c5jnNL9TCVmFJTGZkFZP3Nh+BMgZvL6xBkt3WKm6Uq18qzd9XeKcZusrA+O+uLv1fVeQnadY9RIqOCyeFYCzLWrUfTyE8x/XG0hAWIM7qpnF2cALQS2h9n4hW5ybiUN790H08wf9hFwEf5nxY9Z9dVkPFQiTSGKNBzmnCXU9skxS/xhpFjJ5duGSZdtAHe9O+nGZm9c67hxgtf8e5PDuqAdXEv2cf6e3VBAt+Bz8EKI3yosTj0oZHfwr42Yzb1l/SKy14Rggsrc9KAQlrGXan6+u2jcQqqx7l+SWmnpFiWTV9u5cWj2IgOhApOitmRBPYqk9rE2usfO0hLn/Pj/R/Nau4803e1/EikdLE7Ps95s9mX5jRDjAoUa2JwFF5RsVFyL910= ashigupt@ashigupt.remote.csb" 2025-11-25 08:28:31.682836 | controller | } 2025-11-25 08:28:31.812187 | crc | changed: 2025-11-25 08:28:31.812292 | crc | { 2025-11-25 08:28:31.812314 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDK0iKdi8jQTpQrDdLVH/AAgLVYyTXF7AQ1gjc/5uT3t ykarel@yatinkarel" 2025-11-25 08:28:31.812333 | crc | } 2025-11-25 08:28:31.916948 | controller | changed: 2025-11-25 08:28:31.917056 | controller | { 2025-11-25 08:28:31.917079 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOKLl0NYKwoZ/JY5KeZU8VwRAggeOxqQJeoqp3dsAaY9" 2025-11-25 08:28:31.917097 | controller | } 2025-11-25 08:28:32.177239 | controller | changed: 2025-11-25 08:28:32.177340 | controller | { 2025-11-25 08:28:32.177362 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIASASQOH2BcOyLKuuDOdWZlPi2orcjcA8q4400T73DLH evallesp@fedora" 2025-11-25 08:28:32.177380 | controller | } 2025-11-25 08:28:32.184698 | crc | changed: 2025-11-25 08:28:32.184745 | crc | { 2025-11-25 08:28:32.184767 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF/V/cLotA6LZeO32VL45Hd78skuA2lJA425Sm2LlQeZ fmount@horcrux" 2025-11-25 08:28:32.184785 | crc | } 2025-11-25 08:28:32.479608 | controller | changed: 2025-11-25 08:28:32.479797 | controller | { 2025-11-25 08:28:32.479853 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILeBWlamUph+jRKV2qrx1PGU7vWuGIt5+z9k96I8WehW amsinha@amsinha-mac" 2025-11-25 08:28:32.479896 | controller | } 2025-11-25 08:28:32.586544 | crc | changed: 2025-11-25 08:28:32.586722 | crc | { 2025-11-25 08:28:32.586782 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDa7QCjuDMVmRPo1rREbGwzYeBCYVN+Ou/3WKXZEC6Sr" 2025-11-25 08:28:32.586824 | crc | } 2025-11-25 08:28:32.765699 | controller | changed: 2025-11-25 08:28:32.765888 | controller | { 2025-11-25 08:28:32.765921 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIANvVgvJBlK3gb1yz5uef/JqIGq4HLEmY2dYA8e37swb morenod@redhat-laptop" 2025-11-25 08:28:32.765941 | controller | } 2025-11-25 08:28:32.948593 | crc | changed: 2025-11-25 08:28:32.948726 | crc | { 2025-11-25 08:28:32.948753 | crc | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCfNtF7NvKl915TGsGGoseUb06Hj8L/S4toWf0hExeY+F00woL6NvBlJD0nDct+P5a22I4EhvoQCRQ8reaPCm1lybR3uiRIJsj+8zkVvLwby9LXzfZorlNG9ofjd00FEmB09uW/YvTl6Q9XwwwX6tInzIOv3TMqTHHGOL74ibbj8J/FJR0cFEyj0z4WQRvtkh32xAHl83gbuINryMt0sqRI+clj2381NKL55DRLQrVw0gsfqqxiHAnXg21qWmc4J+b9e9kiuAFQjcjwTVkwJCcg3xbPwC/qokYRby/Y5S40UUd7/jEARGXT7RZgpzTuDd1oZiCVrnrqJNPaMNdVv5MLeFdf1B7iIe5aa/fGouX7AO4SdKhZUdnJmCFAGvjC6S3JMZ2wAcUl+OHnssfmdj7XL50cLo27vjuzMtLAgSqi6N99m92WCF2s8J9aVzszX7Xz9OKZCeGsiVJp3/NdABKzSEAyM9xBD/5Vho894Sav+otpySHe3p6RUTgbB5Zu8VyZRZ/UtB3ueXxyo764yrc6qWIDqrehm84Xm9g+/jpIBzGPl07NUNJpdt/6Sgf9RIKXw/7XypO5yZfUcuFNGTxLfqjTNrtgLZNcjfav6sSdVXVcMPL//XNuRdKmVFaO76eV/oGMQGr1fGcCD+N+CpI7+Q+fCNB6VFWG4nZFuI/Iuw== averdagu@redhat.com" 2025-11-25 08:28:32.948773 | crc | } 2025-11-25 08:28:33.051971 | controller | changed: 2025-11-25 08:28:33.052066 | controller | { 2025-11-25 08:28:33.052094 | controller | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDZdI7t1cxYx65heVI24HTV4F7oQLW1zyfxHreL2TIJKxjyrUUKIFEUmTutcBlJRLNT2Eoix6x1sOw9YrchloCLcn//SGfTElr9mSc5jbjb7QXEU+zJMhtxyEJ1Po3CUGnj7ckiIXw7wcawZtrEOAQ9pH3ExYCJcEMiyNjRQZCxT3tPK+S4B95EWh5Fsrz9CkwpjNRPPH7LigCeQTM3Wc7r97utAslBUUvYceDSLA7rMgkitJE38b7rZBeYzsGQ8YYUBjTCtehqQXxCRjizbHWaaZkBU+N3zkKB6n/iCNGIO690NK7A/qb6msTijiz1PeuM8ThOsi9qXnbX5v0PoTpcFSojV7NHAQ71f0XXuS43FhZctT+Dcx44dT8Fb5vJu2cJGrk+qF8ZgJYNpRS7gPg0EG2EqjK7JMf9ULdjSu0r+KlqIAyLvtzT4eOnQipoKlb/WG5D/0ohKv7OMQ352ggfkBFIQsRXyyTCT98Ft9juqPuahi3CAQmP4H9dyE+7+Kz437PEtsxLmfm6naNmWi7Ee1DqWPwS8rEajsm4sNM4wW9gdBboJQtc0uZw0DfLj1I9r3Mc8Ol0jYtz0yNQDSzVLrGCaJlC311trU70tZ+ZkAVV6Mn8lOhSbj1cK0lvSr6ZK4dgqGl3I1eTZJJhbLNdg7UOVaiRx9543+C/p/As7w== brjackma@redhat.com" 2025-11-25 08:28:33.052119 | controller | } 2025-11-25 08:28:33.370840 | crc | changed: 2025-11-25 08:28:33.370951 | crc | { 2025-11-25 08:28:33.370973 | crc | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDq8l27xI+QlQVdS4djp9ogSoyrNE2+Ox6vKPdhSNL1J3PE5w+WCSvMz9A5gnNuH810zwbekEApbxTze/gLQJwBHA52CChfURpXrFaxY7ePXRElwKAL3mJfzBWY/c5jnNL9TCVmFJTGZkFZP3Nh+BMgZvL6xBkt3WKm6Uq18qzd9XeKcZusrA+O+uLv1fVeQnadY9RIqOCyeFYCzLWrUfTyE8x/XG0hAWIM7qpnF2cALQS2h9n4hW5ybiUN790H08wf9hFwEf5nxY9Z9dVkPFQiTSGKNBzmnCXU9skxS/xhpFjJ5duGSZdtAHe9O+nGZm9c67hxgtf8e5PDuqAdXEv2cf6e3VBAt+Bz8EKI3yosTj0oZHfwr42Yzb1l/SKy14Rggsrc9KAQlrGXan6+u2jcQqqx7l+SWmnpFiWTV9u5cWj2IgOhApOitmRBPYqk9rE2usfO0hLn/Pj/R/Nau4803e1/EikdLE7Ps95s9mX5jRDjAoUa2JwFF5RsVFyL910= ashigupt@ashigupt.remote.csb" 2025-11-25 08:28:33.370993 | crc | } 2025-11-25 08:28:33.380044 | controller | changed: 2025-11-25 08:28:33.380092 | controller | { 2025-11-25 08:28:33.380116 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKwedoZ0TWPJX/z/4TAbO/kKcDZOQVgRH0hAqrL5UCI1 vcastell@redhat.com" 2025-11-25 08:28:33.380134 | controller | } 2025-11-25 08:28:33.616519 | controller | changed: 2025-11-25 08:28:33.616616 | controller | { 2025-11-25 08:28:33.616638 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEmv8sE8GCk6ZTPIqF0FQrttBdL3mq7rCm/IJy0xDFh7 michburk@redhat.com" 2025-11-25 08:28:33.616656 | controller | } 2025-11-25 08:28:33.691237 | crc | changed: 2025-11-25 08:28:33.691341 | crc | { 2025-11-25 08:28:33.691363 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOKLl0NYKwoZ/JY5KeZU8VwRAggeOxqQJeoqp3dsAaY9" 2025-11-25 08:28:33.691381 | crc | } 2025-11-25 08:28:33.872610 | controller | changed: 2025-11-25 08:28:33.872721 | controller | { 2025-11-25 08:28:33.872746 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICy6GpGEtwevXEEn4mmLR5lmSLe23dGgAvzkB9DMNbkf rsafrono@rsafrono" 2025-11-25 08:28:33.872765 | controller | } 2025-11-25 08:28:34.033802 | crc | changed: 2025-11-25 08:28:34.033907 | crc | { 2025-11-25 08:28:34.033932 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIASASQOH2BcOyLKuuDOdWZlPi2orcjcA8q4400T73DLH evallesp@fedora" 2025-11-25 08:28:34.033951 | crc | } 2025-11-25 08:28:34.033979 | crc | changed: All items complete 2025-11-25 08:28:34.034000 | 2025-11-25 08:28:34.458950 | crc | changed: 2025-11-25 08:28:34.459159 | crc | { 2025-11-25 08:28:34.459188 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILeBWlamUph+jRKV2qrx1PGU7vWuGIt5+z9k96I8WehW amsinha@amsinha-mac" 2025-11-25 08:28:34.459207 | crc | } 2025-11-25 08:28:34.805700 | crc | changed: 2025-11-25 08:28:34.806246 | crc | { 2025-11-25 08:28:34.806289 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIANvVgvJBlK3gb1yz5uef/JqIGq4HLEmY2dYA8e37swb morenod@redhat-laptop" 2025-11-25 08:28:34.806317 | crc | } 2025-11-25 08:28:35.202506 | crc | changed: 2025-11-25 08:28:35.202712 | crc | { 2025-11-25 08:28:35.202740 | crc | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDZdI7t1cxYx65heVI24HTV4F7oQLW1zyfxHreL2TIJKxjyrUUKIFEUmTutcBlJRLNT2Eoix6x1sOw9YrchloCLcn//SGfTElr9mSc5jbjb7QXEU+zJMhtxyEJ1Po3CUGnj7ckiIXw7wcawZtrEOAQ9pH3ExYCJcEMiyNjRQZCxT3tPK+S4B95EWh5Fsrz9CkwpjNRPPH7LigCeQTM3Wc7r97utAslBUUvYceDSLA7rMgkitJE38b7rZBeYzsGQ8YYUBjTCtehqQXxCRjizbHWaaZkBU+N3zkKB6n/iCNGIO690NK7A/qb6msTijiz1PeuM8ThOsi9qXnbX5v0PoTpcFSojV7NHAQ71f0XXuS43FhZctT+Dcx44dT8Fb5vJu2cJGrk+qF8ZgJYNpRS7gPg0EG2EqjK7JMf9ULdjSu0r+KlqIAyLvtzT4eOnQipoKlb/WG5D/0ohKv7OMQ352ggfkBFIQsRXyyTCT98Ft9juqPuahi3CAQmP4H9dyE+7+Kz437PEtsxLmfm6naNmWi7Ee1DqWPwS8rEajsm4sNM4wW9gdBboJQtc0uZw0DfLj1I9r3Mc8Ol0jYtz0yNQDSzVLrGCaJlC311trU70tZ+ZkAVV6Mn8lOhSbj1cK0lvSr6ZK4dgqGl3I1eTZJJhbLNdg7UOVaiRx9543+C/p/As7w== brjackma@redhat.com" 2025-11-25 08:28:35.202761 | crc | } 2025-11-25 08:28:35.576448 | crc | changed: 2025-11-25 08:28:35.576737 | crc | { 2025-11-25 08:28:35.576779 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKwedoZ0TWPJX/z/4TAbO/kKcDZOQVgRH0hAqrL5UCI1 vcastell@redhat.com" 2025-11-25 08:28:35.576807 | crc | } 2025-11-25 08:28:35.915845 | crc | changed: 2025-11-25 08:28:35.915970 | crc | { 2025-11-25 08:28:35.916000 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEmv8sE8GCk6ZTPIqF0FQrttBdL3mq7rCm/IJy0xDFh7 michburk@redhat.com" 2025-11-25 08:28:35.916042 | crc | } 2025-11-25 08:28:36.305190 | crc | changed: 2025-11-25 08:28:36.305429 | crc | { 2025-11-25 08:28:36.305495 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICy6GpGEtwevXEEn4mmLR5lmSLe23dGgAvzkB9DMNbkf rsafrono@rsafrono" 2025-11-25 08:28:36.305550 | crc | } 2025-11-25 08:28:36.339098 | 2025-11-25 08:28:36.339299 | TASK [Set timezone to UTC] 2025-11-25 08:28:36.925561 | controller | changed: executed `/bin/timedatectl set-timezone UTC` 2025-11-25 08:28:36.973476 | crc | ok 2025-11-25 08:28:36.985018 | 2025-11-25 08:28:36.985158 | TASK [Create nodepool directory] 2025-11-25 08:28:37.256930 | controller | changed 2025-11-25 08:28:37.316016 | crc | changed 2025-11-25 08:28:37.333473 | 2025-11-25 08:28:37.333807 | TASK [Create nodepool sub_nodes file] 2025-11-25 08:28:38.020651 | controller | changed 2025-11-25 08:28:38.125240 | crc | changed 2025-11-25 08:28:38.130732 | 2025-11-25 08:28:38.130806 | TASK [Create nodepool sub_nodes_private file] 2025-11-25 08:28:38.831504 | controller | changed 2025-11-25 08:28:38.888821 | crc | changed 2025-11-25 08:28:38.902795 | 2025-11-25 08:28:38.902957 | LOOP [Populate nodepool sub_nodes file] 2025-11-25 08:28:38.964383 | 2025-11-25 08:28:38.964576 | LOOP [Populate nodepool sub_nodes_private file] 2025-11-25 08:28:39.013886 | 2025-11-25 08:28:39.014050 | TASK [Create nodepool primary file] 2025-11-25 08:28:39.046711 | controller | skipping: Conditional result was False 2025-11-25 08:28:39.057507 | crc | skipping: Conditional result was False 2025-11-25 08:28:39.063066 | 2025-11-25 08:28:39.063129 | TASK [Create nodepool node_private for this node] 2025-11-25 08:28:39.798167 | controller | changed 2025-11-25 08:28:39.856858 | crc | changed 2025-11-25 08:28:39.862428 | 2025-11-25 08:28:39.862500 | LOOP [Copy ssh keys to nodepool directory] 2025-11-25 08:28:40.267560 | controller | ok: Item: id_rsa Runtime: 0:00:00.005772 2025-11-25 08:28:40.268123 | 2025-11-25 08:28:40.307142 | crc | ok: Item: id_rsa Runtime: 0:00:00.008341 2025-11-25 08:28:40.509511 | controller | ok: Item: id_rsa.pub Runtime: 0:00:00.005998 2025-11-25 08:28:40.600551 | crc | ok: Item: id_rsa.pub Runtime: 0:00:00.006315 2025-11-25 08:28:40.610540 | 2025-11-25 08:28:40.610624 | TASK [Add sudoers role for zuul-sudo-grep.sh] 2025-11-25 08:28:41.304932 | controller | changed 2025-11-25 08:28:41.423093 | crc | changed 2025-11-25 08:28:41.428116 | 2025-11-25 08:28:41.428173 | TASK [Validate sudoers config after edits] 2025-11-25 08:28:41.793316 | crc | /etc/sudoers: parsed OK 2025-11-25 08:28:41.793401 | crc | /etc/sudoers.d/coreos-sudo-group: parsed OK 2025-11-25 08:28:41.793457 | crc | /etc/sudoers.d/zuul-sudo-grep: parsed OK 2025-11-25 08:28:41.736917 | controller | /etc/sudoers: parsed OK 2025-11-25 08:28:41.737059 | controller | /etc/sudoers.d/90-cloud-init-users: parsed OK 2025-11-25 08:28:41.737134 | controller | /etc/sudoers.d/zuul: parsed OK 2025-11-25 08:28:41.737145 | controller | /etc/sudoers.d/zuul-sudo-grep: parsed OK 2025-11-25 08:28:41.992477 | controller | ok: Runtime: 0:00:00.011761 2025-11-25 08:28:42.008143 | crc | ok: Runtime: 0:00:00.011272 2025-11-25 08:28:42.022478 | 2025-11-25 08:28:42.022665 | TASK [Show the environment passed in to job shell scripts] 2025-11-25 08:28:42.351091 | crc | SHELL=/bin/bash 2025-11-25 08:28:42.351240 | crc | ZUUL_PROJECT=openstack-k8s-operators/keystone-operator 2025-11-25 08:28:42.351252 | crc | ZUUL_SHORT_PROJECT_NAME=keystone-operator 2025-11-25 08:28:42.351259 | crc | ZUUL_CHANGES=openstack-k8s-operators/keystone-operator:main:refs/changes/52/652/99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a 2025-11-25 08:28:42.351266 | crc | PWD=/var/home/core 2025-11-25 08:28:42.351272 | crc | ZUUL_PIPELINE=github-check 2025-11-25 08:28:42.351278 | crc | LOGNAME=core 2025-11-25 08:28:42.351284 | crc | XDG_SESSION_TYPE=tty 2025-11-25 08:28:42.351371 | crc | _=/usr/bin/env 2025-11-25 08:28:42.351381 | crc | MOTD_SHOWN=pam 2025-11-25 08:28:42.351393 | crc | HOME=/var/home/core 2025-11-25 08:28:42.351406 | crc | LANG=C.UTF-8 2025-11-25 08:28:42.351413 | crc | SSH_CONNECTION=38.102.83.114 51618 38.102.83.222 22 2025-11-25 08:28:42.351421 | crc | TOX_TESTENV_PASSENV=ZUUL_UUID ZUUL_PROJECT ZUUL_SHORT_PROJECT_NAME ZUUL_PIPELINE ZUUL_VOTING WORKSPACE BUILD_TIMEOUT ZUUL_BRANCH ZUUL_CHANGES ZUUL_CHANGE_IDS ZUUL_CHANGE ZUUL_PATCHSET 2025-11-25 08:28:42.351468 | crc | ZUUL_CHANGE_IDS=652,99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a 2025-11-25 08:28:42.351476 | crc | WORKSPACE=/home/zuul/workspace 2025-11-25 08:28:42.351484 | crc | XDG_SESSION_CLASS=user 2025-11-25 08:28:42.351492 | crc | SELINUX_ROLE_REQUESTED= 2025-11-25 08:28:42.351499 | crc | LESSOPEN=||/usr/bin/lesspipe.sh %s 2025-11-25 08:28:42.351506 | crc | USER=core 2025-11-25 08:28:42.351514 | crc | ZUUL_VOTING=False 2025-11-25 08:28:42.351520 | crc | BUILD_TIMEOUT=7200000 2025-11-25 08:28:42.351527 | crc | SELINUX_USE_CURRENT_RANGE= 2025-11-25 08:28:42.351533 | crc | SHLVL=1 2025-11-25 08:28:42.351540 | crc | ZUUL_PATCHSET=99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a 2025-11-25 08:28:42.351545 | crc | XDG_SESSION_ID=2 2025-11-25 08:28:42.351551 | crc | ZUUL_BRANCH=main 2025-11-25 08:28:42.351557 | crc | XDG_RUNTIME_DIR=/run/user/1000 2025-11-25 08:28:42.351563 | crc | SSH_CLIENT=38.102.83.114 51618 22 2025-11-25 08:28:42.351570 | crc | which_declare=declare -f 2025-11-25 08:28:42.351576 | crc | PATH=/var/home/core/.local/bin:/var/home/core/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin 2025-11-25 08:28:42.351582 | crc | SELINUX_LEVEL_REQUESTED= 2025-11-25 08:28:42.351588 | crc | ZUUL_CHANGE=652 2025-11-25 08:28:42.351594 | crc | DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus 2025-11-25 08:28:42.351599 | crc | ZUUL_UUID=ff418e7537c24c4c96d27225f029c73c 2025-11-25 08:28:42.351605 | crc | BASH_FUNC_which%%=() { ( alias; 2025-11-25 08:28:42.351611 | crc | eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@ 2025-11-25 08:28:42.351617 | crc | } 2025-11-25 08:28:42.325910 | controller | SHELL=/bin/bash 2025-11-25 08:28:42.325976 | controller | ZUUL_PROJECT=openstack-k8s-operators/keystone-operator 2025-11-25 08:28:42.325986 | controller | ZUUL_SHORT_PROJECT_NAME=keystone-operator 2025-11-25 08:28:42.325995 | controller | ZUUL_CHANGES=openstack-k8s-operators/keystone-operator:main:refs/changes/52/652/99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a 2025-11-25 08:28:42.326002 | controller | PWD=/home/zuul 2025-11-25 08:28:42.326011 | controller | ZUUL_PIPELINE=github-check 2025-11-25 08:28:42.326062 | controller | LOGNAME=zuul 2025-11-25 08:28:42.326073 | controller | XDG_SESSION_TYPE=tty 2025-11-25 08:28:42.326080 | controller | _=/usr/bin/env 2025-11-25 08:28:42.326087 | controller | MOTD_SHOWN=pam 2025-11-25 08:28:42.326095 | controller | HOME=/home/zuul 2025-11-25 08:28:42.326124 | controller | LANG=en_US.UTF-8 2025-11-25 08:28:42.326132 | controller | SSH_CONNECTION=38.102.83.114 57094 38.102.83.98 22 2025-11-25 08:28:42.326140 | controller | TOX_TESTENV_PASSENV=ZUUL_UUID ZUUL_PROJECT ZUUL_SHORT_PROJECT_NAME ZUUL_PIPELINE ZUUL_VOTING WORKSPACE BUILD_TIMEOUT ZUUL_BRANCH ZUUL_CHANGES ZUUL_CHANGE_IDS ZUUL_CHANGE ZUUL_PATCHSET 2025-11-25 08:28:42.326152 | controller | ZUUL_CHANGE_IDS=652,99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a 2025-11-25 08:28:42.326159 | controller | WORKSPACE=/home/zuul/workspace 2025-11-25 08:28:42.326167 | controller | XDG_SESSION_CLASS=user 2025-11-25 08:28:42.326174 | controller | SELINUX_ROLE_REQUESTED= 2025-11-25 08:28:42.326182 | controller | LESSOPEN=||/usr/bin/lesspipe.sh %s 2025-11-25 08:28:42.326190 | controller | USER=zuul 2025-11-25 08:28:42.326198 | controller | ZUUL_VOTING=False 2025-11-25 08:28:42.326205 | controller | BUILD_TIMEOUT=7200000 2025-11-25 08:28:42.326212 | controller | SELINUX_USE_CURRENT_RANGE= 2025-11-25 08:28:42.326220 | controller | SHLVL=1 2025-11-25 08:28:42.326227 | controller | ZUUL_PATCHSET=99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a 2025-11-25 08:28:42.326234 | controller | XDG_SESSION_ID=1 2025-11-25 08:28:42.326241 | controller | ZUUL_BRANCH=main 2025-11-25 08:28:42.326249 | controller | XDG_RUNTIME_DIR=/run/user/1000 2025-11-25 08:28:42.326256 | controller | SSH_CLIENT=38.102.83.114 57094 22 2025-11-25 08:28:42.326265 | controller | DEBUGINFOD_URLS=https://debuginfod.centos.org/ 2025-11-25 08:28:42.326273 | controller | DEBUGINFOD_IMA_CERT_PATH=/etc/keys/ima: 2025-11-25 08:28:42.326280 | controller | which_declare=declare -f 2025-11-25 08:28:42.326289 | controller | PATH=/home/zuul/.local/bin:/home/zuul/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin 2025-11-25 08:28:42.326297 | controller | SELINUX_LEVEL_REQUESTED= 2025-11-25 08:28:42.326304 | controller | ZUUL_CHANGE=652 2025-11-25 08:28:42.326312 | controller | DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus 2025-11-25 08:28:42.326319 | controller | ZUUL_UUID=ff418e7537c24c4c96d27225f029c73c 2025-11-25 08:28:42.326327 | controller | BASH_FUNC_which%%=() { ( alias; 2025-11-25 08:28:42.326335 | controller | eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@ 2025-11-25 08:28:42.326343 | controller | } 2025-11-25 08:28:42.604221 | controller | ok: Runtime: 0:00:00.011062 2025-11-25 08:28:42.621674 | crc | ok: Runtime: 0:00:00.008033 2025-11-25 08:28:42.634448 | 2025-11-25 08:28:42.634578 | TASK [Workaround hardcoded /home/zuul/workspace in zuul_legacy_vars] 2025-11-25 08:28:42.665882 | controller | skipping: Conditional result was False 2025-11-25 08:28:42.677165 | crc | skipping: Conditional result was False 2025-11-25 08:28:42.685833 | 2025-11-25 08:28:42.685937 | TASK [Symlink /home/zuul-worker/workspace] 2025-11-25 08:28:43.263905 | controller | skipping: Conditional result was False 2025-11-25 08:28:43.264765 | crc | skipping: Conditional result was False 2025-11-25 08:28:43.276555 | 2025-11-25 08:28:43.276729 | TASK [Ensure legacy workspace directory] 2025-11-25 08:28:43.542535 | controller | changed 2025-11-25 08:28:43.564315 | crc | changed 2025-11-25 08:28:43.650481 | 2025-11-25 08:28:43.650580 | PLAY RECAP 2025-11-25 08:28:43.650621 | controller | ok: 14 changed: 11 unreachable: 0 failed: 0 skipped: 5 rescued: 0 ignored: 0 2025-11-25 08:28:43.650646 | crc | ok: 14 changed: 10 unreachable: 0 failed: 0 skipped: 5 rescued: 0 ignored: 0 2025-11-25 08:28:43.650664 | 2025-11-25 08:28:43.770103 | PRE-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/ci-framework-rdo-base/pre.yaml@master] 2025-11-25 08:28:43.773789 | PRE-RUN START: [trusted : review.rdoproject.org/config/playbooks/crc/bootstrap-ci-network.yml@master] 2025-11-25 08:28:44.424586 | 2025-11-25 08:28:44.424717 | PLAY [controller] 2025-11-25 08:28:44.446779 | 2025-11-25 08:28:44.446904 | TASK [Debug parameters] 2025-11-25 08:28:44.478222 | controller | ok 2025-11-25 08:28:44.484055 | 2025-11-25 08:28:44.484130 | TASK [Assert crc_ci_bootstrap_cloud_name is defined] 2025-11-25 08:28:44.527070 | controller | ok: All assertions passed 2025-11-25 08:28:44.532529 | 2025-11-25 08:28:44.532592 | TASK [Assert crc_ci_bootstrap_networking is defined and contains the minimum fields] 2025-11-25 08:28:44.573774 | controller | ok: All assertions passed 2025-11-25 08:28:44.580350 | 2025-11-25 08:28:44.580438 | TASK [Assert that the default network exists and has no VLAN tag] 2025-11-25 08:28:44.611857 | controller | ok: All assertions passed 2025-11-25 08:28:44.618217 | 2025-11-25 08:28:44.618299 | LOOP [Assert that all instances has a given fixed IP for each net and default net is present] 2025-11-25 08:28:44.716311 | controller | ok: All assertions passed 2025-11-25 08:28:44.729584 | controller | ok: All assertions passed 2025-11-25 08:28:44.741428 | 2025-11-25 08:28:44.741551 | LOOP [Assert that every host references an valid/declared network] 2025-11-25 08:28:44.814443 | controller | ok: All assertions passed 2025-11-25 08:28:44.814715 | controller | ok: All items complete 2025-11-25 08:28:44.814749 | 2025-11-25 08:28:44.833878 | controller | ok: All assertions passed 2025-11-25 08:28:44.853228 | 2025-11-25 08:28:44.853523 | LOOP [Assert that all instances has in range fixed IP for each net] 2025-11-25 08:28:44.947639 | controller | ok: All assertions passed 2025-11-25 08:28:44.973793 | controller | ok: All assertions passed 2025-11-25 08:28:44.982970 | 2025-11-25 08:28:44.983093 | TASK [Assert that all non-default nets has the vlan tag] 2025-11-25 08:28:45.064912 | controller | ok: All assertions passed 2025-11-25 08:28:45.073081 | 2025-11-25 08:28:45.073162 | TASK [Install required packages] 2025-11-25 08:29:10.028927 | controller | changed 2025-11-25 08:29:10.042475 | 2025-11-25 08:29:10.042607 | TASK [Create openstack config dir] 2025-11-25 08:29:10.481702 | controller | changed 2025-11-25 08:29:10.494215 | 2025-11-25 08:29:10.494418 | LOOP [Create ci dir in etc folder in the controller] 2025-11-25 08:29:10.858516 | controller -> 38.102.83.222 | changed: "crc" 2025-11-25 08:29:10.859093 | controller -> 38.102.83.222 | ok: All items complete 2025-11-25 08:29:10.859154 | 2025-11-25 08:29:11.143069 | controller -> 38.102.83.98 | changed: "controller" 2025-11-25 08:29:11.162596 | 2025-11-25 08:29:11.162909 | TASK [Set global resource names as facts] 2025-11-25 08:29:11.217523 | controller | ok 2025-11-25 08:29:11.231443 | 2025-11-25 08:29:11.231577 | TASK [Generate CA cert file] 2025-11-25 08:29:11.269794 | controller | skipping: Conditional result was False 2025-11-25 08:29:11.279354 | 2025-11-25 08:29:11.279439 | TASK [Update CA certs] 2025-11-25 08:29:11.820199 | controller | skipping: Conditional result was False 2025-11-25 08:29:11.835859 | 2025-11-25 08:29:11.836051 | TASK [Generate clouds config from cloud_secrets secret] 2025-11-25 08:29:13.351840 | controller | changed 2025-11-25 08:29:13.362961 | 2025-11-25 08:29:13.363090 | TASK [Create the default network] 2025-11-25 08:29:19.964239 | controller | admin_state_up: true 2025-11-25 08:29:19.964603 | controller | availability_zone_hints: 2025-11-25 08:29:19.964929 | controller | - nova 2025-11-25 08:29:19.964945 | controller | availability_zones: [] 2025-11-25 08:29:19.965558 | controller | created_at: '2025-11-25T08:29:17Z' 2025-11-25 08:29:19.965801 | controller | description: '' 2025-11-25 08:29:19.966025 | controller | dns_domain: '' 2025-11-25 08:29:19.966450 | controller | id: 8d07bbf9-c941-4072-96cc-7b9f0d4efde9 2025-11-25 08:29:19.966904 | controller | ipv4_address_scope: null 2025-11-25 08:29:19.967271 | controller | ipv6_address_scope: null 2025-11-25 08:29:19.967658 | controller | is_default: false 2025-11-25 08:29:19.967895 | controller | is_vlan_qinq: null 2025-11-25 08:29:19.968171 | controller | is_vlan_transparent: true 2025-11-25 08:29:19.968442 | controller | l2_adjacency: true 2025-11-25 08:29:19.968733 | controller | mtu: 1500 2025-11-25 08:29:19.968968 | controller | name: zuul-ci-net-ff418e75 2025-11-25 08:29:19.969310 | controller | port_security_enabled: false 2025-11-25 08:29:19.969629 | controller | project_id: 4b633c451ac74233be3721a3635275e5 2025-11-25 08:29:19.969873 | controller | provider:network_type: null 2025-11-25 08:29:19.970154 | controller | provider:physical_network: null 2025-11-25 08:29:19.970425 | controller | provider:segmentation_id: null 2025-11-25 08:29:19.970697 | controller | qos_policy_id: null 2025-11-25 08:29:19.970946 | controller | revision_number: 1 2025-11-25 08:29:19.971230 | controller | router:external: false 2025-11-25 08:29:19.971463 | controller | segments: null 2025-11-25 08:29:19.971716 | controller | shared: false 2025-11-25 08:29:19.972021 | controller | status: ACTIVE 2025-11-25 08:29:19.972367 | controller | subnets: [] 2025-11-25 08:29:19.972666 | controller | tags: [] 2025-11-25 08:29:19.973034 | controller | updated_at: '2025-11-25T08:29:18Z' 2025-11-25 08:29:20.417342 | controller | changed 2025-11-25 08:29:20.424797 | 2025-11-25 08:29:20.424882 | TASK [Create subnet - ipv4] 2025-11-25 08:29:23.435848 | controller | allocation_pools: 2025-11-25 08:29:23.436424 | controller | - end: 192.168.122.254 2025-11-25 08:29:23.436468 | controller | start: 192.168.122.2 2025-11-25 08:29:23.436498 | controller | cidr: 192.168.122.0/24 2025-11-25 08:29:23.436867 | controller | created_at: '2025-11-25T08:29:23Z' 2025-11-25 08:29:23.437197 | controller | description: '' 2025-11-25 08:29:23.437506 | controller | dns_nameservers: [] 2025-11-25 08:29:23.438025 | controller | dns_publish_fixed_ip: null 2025-11-25 08:29:23.438657 | controller | enable_dhcp: false 2025-11-25 08:29:23.438841 | controller | gateway_ip: 192.168.122.1 2025-11-25 08:29:23.438993 | controller | host_routes: [] 2025-11-25 08:29:23.439184 | controller | id: c14a23ac-2fa5-410b-9643-10211513380d 2025-11-25 08:29:23.439387 | controller | ip_version: 4 2025-11-25 08:29:23.439553 | controller | ipv6_address_mode: null 2025-11-25 08:29:23.439879 | controller | ipv6_ra_mode: null 2025-11-25 08:29:23.440046 | controller | name: zuul-ci-subnet-ff418e75 2025-11-25 08:29:23.440256 | controller | network_id: 8d07bbf9-c941-4072-96cc-7b9f0d4efde9 2025-11-25 08:29:23.440447 | controller | project_id: 4b633c451ac74233be3721a3635275e5 2025-11-25 08:29:23.440610 | controller | revision_number: 0 2025-11-25 08:29:23.440768 | controller | segment_id: null 2025-11-25 08:29:23.440928 | controller | service_types: [] 2025-11-25 08:29:23.441089 | controller | subnetpool_id: null 2025-11-25 08:29:23.441255 | controller | tags: [] 2025-11-25 08:29:23.441442 | controller | updated_at: '2025-11-25T08:29:23Z' 2025-11-25 08:29:23.965592 | controller | changed 2025-11-25 08:29:23.993164 | 2025-11-25 08:29:23.993579 | TASK [Set yaml returned data for further usage] 2025-11-25 08:29:24.059036 | controller | ok 2025-11-25 08:29:24.066755 | 2025-11-25 08:29:24.066840 | TASK [Create router] 2025-11-25 08:29:24.602790 | controller | skipping: Conditional result was False 2025-11-25 08:29:24.615328 | 2025-11-25 08:29:24.615462 | TASK [Set router yaml returned data for further usage] 2025-11-25 08:29:24.653337 | controller | skipping: Conditional result was False 2025-11-25 08:29:24.665892 | 2025-11-25 08:29:24.666059 | TASK [Add router to subnet] 2025-11-25 08:29:25.252271 | controller | skipping: Conditional result was False 2025-11-25 08:29:25.269040 | 2025-11-25 08:29:25.269295 | LOOP [Create ports, VLANs and configure them on the instance] 2025-11-25 08:29:25.341748 | controller | ok: 2025-11-25 08:29:25.342019 | controller | { 2025-11-25 08:29:25.342054 | controller | "key": "controller", 2025-11-25 08:29:25.342078 | controller | "value": { 2025-11-25 08:29:25.342101 | controller | "networks": { 2025-11-25 08:29:25.342122 | controller | "default": { 2025-11-25 08:29:25.342143 | controller | "ip": "192.168.122.11" 2025-11-25 08:29:25.342164 | controller | } 2025-11-25 08:29:25.342184 | controller | } 2025-11-25 08:29:25.342205 | controller | } 2025-11-25 08:29:25.342227 | controller | } 2025-11-25 08:29:28.349426 | controller | ok: 2025-11-25 08:29:28.349650 | controller | { 2025-11-25 08:29:28.349751 | controller | "key": "crc", 2025-11-25 08:29:28.349804 | controller | "value": { 2025-11-25 08:29:28.349851 | controller | "networks": { 2025-11-25 08:29:28.349895 | controller | "default": { 2025-11-25 08:29:28.349940 | controller | "ip": "192.168.122.10" 2025-11-25 08:29:28.349985 | controller | }, 2025-11-25 08:29:28.350028 | controller | "internal-api": { 2025-11-25 08:29:28.350070 | controller | "ip": "172.17.0.5" 2025-11-25 08:29:28.350111 | controller | }, 2025-11-25 08:29:28.350153 | controller | "storage": { 2025-11-25 08:29:28.350194 | controller | "ip": "172.18.0.5" 2025-11-25 08:29:28.350235 | controller | }, 2025-11-25 08:29:28.350277 | controller | "tenant": { 2025-11-25 08:29:28.350317 | controller | "ip": "172.19.0.5" 2025-11-25 08:29:28.350359 | controller | } 2025-11-25 08:29:28.350400 | controller | } 2025-11-25 08:29:28.350442 | controller | } 2025-11-25 08:29:28.350484 | controller | } 2025-11-25 08:29:28.381144 | controller | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/trusted/project_0/review.rdoproject.org/config/playbooks/crc/bootstrap-ci-network-instance.yml 2025-11-25 08:29:28.388136 | controller | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/trusted/project_0/review.rdoproject.org/config/playbooks/crc/bootstrap-ci-network-instance.yml 2025-11-25 08:29:28.404826 | 2025-11-25 08:29:28.404917 | TASK [Create instance ports and attach if necessary] 2025-11-25 08:29:28.437428 | controller | ok 2025-11-25 08:29:28.492736 | controller | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/trusted/project_0/review.rdoproject.org/config/playbooks/crc/bootstrap-ci-network-instance-create-attach-port.yml 2025-11-25 08:29:28.499593 | 2025-11-25 08:29:28.499660 | TASK [Print the host networking data] 2025-11-25 08:29:28.543085 | controller | ok 2025-11-25 08:29:28.552159 | 2025-11-25 08:29:28.552254 | TASK [Create the private network parent port] 2025-11-25 08:29:32.861088 | controller | admin_state_up: true 2025-11-25 08:29:32.861350 | controller | allowed_address_pairs: [] 2025-11-25 08:29:32.861550 | controller | binding_host_id: null 2025-11-25 08:29:32.861681 | controller | binding_profile: {} 2025-11-25 08:29:32.861810 | controller | binding_vif_details: {} 2025-11-25 08:29:32.861940 | controller | binding_vif_type: null 2025-11-25 08:29:32.862124 | controller | binding_vnic_type: normal 2025-11-25 08:29:32.862276 | controller | created_at: '2025-11-25T08:29:32Z' 2025-11-25 08:29:32.862406 | controller | data_plane_status: null 2025-11-25 08:29:32.862525 | controller | description: '' 2025-11-25 08:29:32.862642 | controller | device_id: '' 2025-11-25 08:29:32.862762 | controller | device_owner: '' 2025-11-25 08:29:32.862891 | controller | device_profile: null 2025-11-25 08:29:32.863229 | controller | dns_assignment: 2025-11-25 08:29:32.863354 | controller | - fqdn: host-192-168-122-11.openstacklocal. 2025-11-25 08:29:32.863368 | controller | hostname: host-192-168-122-11 2025-11-25 08:29:32.863375 | controller | ip_address: 192.168.122.11 2025-11-25 08:29:32.863383 | controller | dns_domain: '' 2025-11-25 08:29:32.863498 | controller | dns_name: '' 2025-11-25 08:29:32.863622 | controller | extra_dhcp_opts: [] 2025-11-25 08:29:32.863886 | controller | fixed_ips: 2025-11-25 08:29:32.864015 | controller | - ip_address: 192.168.122.11 2025-11-25 08:29:32.864027 | controller | subnet_id: c14a23ac-2fa5-410b-9643-10211513380d 2025-11-25 08:29:32.864035 | controller | hardware_offload_type: null 2025-11-25 08:29:32.864162 | controller | hints: '' 2025-11-25 08:29:32.864303 | controller | id: fd6f5210-5d15-41d1-802b-49fb0f7c9837 2025-11-25 08:29:32.864436 | controller | ip_allocation: immediate 2025-11-25 08:29:32.864579 | controller | mac_address: fa:16:3e:2b:5e:28 2025-11-25 08:29:32.864733 | controller | name: controller-37edd32e-fdad-44fe-a11b-0afecce5e389 2025-11-25 08:29:32.864878 | controller | network_id: 8d07bbf9-c941-4072-96cc-7b9f0d4efde9 2025-11-25 08:29:32.865004 | controller | numa_affinity_policy: null 2025-11-25 08:29:32.865177 | controller | port_security_enabled: false 2025-11-25 08:29:32.865326 | controller | project_id: 4b633c451ac74233be3721a3635275e5 2025-11-25 08:29:32.865456 | controller | propagate_uplink_status: null 2025-11-25 08:29:32.865578 | controller | resource_request: null 2025-11-25 08:29:32.865725 | controller | revision_number: 1 2025-11-25 08:29:32.865873 | controller | qos_network_policy_id: null 2025-11-25 08:29:32.865998 | controller | qos_policy_id: null 2025-11-25 08:29:32.866161 | controller | security_group_ids: [] 2025-11-25 08:29:32.866284 | controller | status: DOWN 2025-11-25 08:29:32.866407 | controller | tags: [] 2025-11-25 08:29:32.866532 | controller | trunk_details: null 2025-11-25 08:29:32.866648 | controller | trusted: null 2025-11-25 08:29:32.866784 | controller | updated_at: '2025-11-25T08:29:32Z' 2025-11-25 08:29:33.103384 | controller | changed 2025-11-25 08:29:33.117959 | 2025-11-25 08:29:33.118126 | TASK [Set common facts for further usage] 2025-11-25 08:29:33.201821 | controller | ok 2025-11-25 08:29:33.215269 | 2025-11-25 08:29:33.215476 | TASK [Create the trunk port] 2025-11-25 08:29:33.771778 | controller | skipping: Conditional result was False 2025-11-25 08:29:33.785652 | 2025-11-25 08:29:33.785826 | TASK [Avoid NetworkManager to automatically picked up the new interface] 2025-11-25 08:29:33.863393 | controller | skipping: Conditional result was False 2025-11-25 08:29:33.876306 | 2025-11-25 08:29:33.876449 | TASK [Refresh NetworkManager] 2025-11-25 08:29:33.943784 | controller | skipping: Conditional result was False 2025-11-25 08:29:33.956788 | 2025-11-25 08:29:33.956943 | TASK [Attach the port to the instance] 2025-11-25 08:29:42.032666 | controller | changed 2025-11-25 08:29:42.044809 | 2025-11-25 08:29:42.044979 | TASK [Wait till the interface exists] 2025-11-25 08:29:42.404602 | controller -> 38.102.83.98 | changed 2025-11-25 08:29:42.413699 | 2025-11-25 08:29:42.413783 | TASK [Prepare interface data to be used configuring trunk and vlan ifaces] 2025-11-25 08:29:42.570011 | controller | ok 2025-11-25 08:29:42.583400 | 2025-11-25 08:29:42.583541 | LOOP [Create VLANs ports and attach them to the trunk] 2025-11-25 08:29:42.617215 | 2025-11-25 08:29:42.617527 | LOOP [Prepare VLANs interface data to be used configuring] 2025-11-25 08:29:42.658946 | 2025-11-25 08:29:42.659262 | LOOP [Create NetworkManager configuration file for the trunk port] 2025-11-25 08:29:43.709801 | controller -> 38.102.83.98 | changed: 2025-11-25 08:29:43.710175 | controller -> 38.102.83.98 | { 2025-11-25 08:29:43.710234 | controller -> 38.102.83.98 | "key": "default", 2025-11-25 08:29:43.710277 | controller -> 38.102.83.98 | "value": { 2025-11-25 08:29:43.710315 | controller -> 38.102.83.98 | "connection": "ci-private-network", 2025-11-25 08:29:43.710355 | controller -> 38.102.83.98 | "gw": "192.168.122.1", 2025-11-25 08:29:43.710391 | controller -> 38.102.83.98 | "iface": "eth1", 2025-11-25 08:29:43.710426 | controller -> 38.102.83.98 | "ip": "192.168.122.11/24", 2025-11-25 08:29:43.710461 | controller -> 38.102.83.98 | "mac": "fa:16:3e:2b:5e:28", 2025-11-25 08:29:43.710496 | controller -> 38.102.83.98 | "mtu": "1500" 2025-11-25 08:29:43.710531 | controller -> 38.102.83.98 | } 2025-11-25 08:29:43.710566 | controller -> 38.102.83.98 | } 2025-11-25 08:29:43.710628 | 2025-11-25 08:29:43.734008 | 2025-11-25 08:29:43.734202 | TASK [Refresh NetworkManager] 2025-11-25 08:29:44.660959 | controller -> 38.102.83.98 | changed 2025-11-25 08:29:44.679104 | 2025-11-25 08:29:44.679249 | TASK [Debug fetch IP routes] 2025-11-25 08:29:44.982812 | controller -> 38.102.83.98 | changed 2025-11-25 08:29:44.997376 | 2025-11-25 08:29:44.997536 | TASK [Debug IP routes] 2025-11-25 08:29:45.055747 | controller -> 38.102.83.98 | ok 2025-11-25 08:29:45.071836 | 2025-11-25 08:29:45.071974 | TASK [Create instance ports and attach if necessary] 2025-11-25 08:29:45.100065 | controller | ok 2025-11-25 08:29:45.121994 | controller | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/trusted/project_0/review.rdoproject.org/config/playbooks/crc/bootstrap-ci-network-instance-create-attach-port.yml 2025-11-25 08:29:45.130087 | 2025-11-25 08:29:45.130169 | TASK [Print the host networking data] 2025-11-25 08:29:45.172892 | controller | ok 2025-11-25 08:29:45.180253 | 2025-11-25 08:29:45.180341 | TASK [Create the private network parent port] 2025-11-25 08:29:47.798076 | controller | admin_state_up: true 2025-11-25 08:29:47.798408 | controller | allowed_address_pairs: [] 2025-11-25 08:29:47.798653 | controller | binding_host_id: null 2025-11-25 08:29:47.798804 | controller | binding_profile: {} 2025-11-25 08:29:47.798945 | controller | binding_vif_details: {} 2025-11-25 08:29:47.799111 | controller | binding_vif_type: null 2025-11-25 08:29:47.799342 | controller | binding_vnic_type: normal 2025-11-25 08:29:47.799507 | controller | created_at: '2025-11-25T08:29:47Z' 2025-11-25 08:29:47.799663 | controller | data_plane_status: null 2025-11-25 08:29:47.799814 | controller | description: '' 2025-11-25 08:29:47.799948 | controller | device_id: '' 2025-11-25 08:29:47.800080 | controller | device_owner: '' 2025-11-25 08:29:47.800234 | controller | device_profile: null 2025-11-25 08:29:47.800585 | controller | dns_assignment: 2025-11-25 08:29:47.800689 | controller | - fqdn: host-192-168-122-10.openstacklocal. 2025-11-25 08:29:47.800700 | controller | hostname: host-192-168-122-10 2025-11-25 08:29:47.800707 | controller | ip_address: 192.168.122.10 2025-11-25 08:29:47.800716 | controller | dns_domain: '' 2025-11-25 08:29:47.800835 | controller | dns_name: '' 2025-11-25 08:29:47.800940 | controller | extra_dhcp_opts: [] 2025-11-25 08:29:47.801202 | controller | fixed_ips: 2025-11-25 08:29:47.801304 | controller | - ip_address: 192.168.122.10 2025-11-25 08:29:47.801313 | controller | subnet_id: c14a23ac-2fa5-410b-9643-10211513380d 2025-11-25 08:29:47.801322 | controller | hardware_offload_type: null 2025-11-25 08:29:47.801393 | controller | hints: '' 2025-11-25 08:29:47.801502 | controller | id: 0f918b5b-e4e6-4c04-abb5-f2fa79ced4de 2025-11-25 08:29:47.801600 | controller | ip_allocation: immediate 2025-11-25 08:29:47.801726 | controller | mac_address: fa:16:3e:62:b5:40 2025-11-25 08:29:47.801866 | controller | name: crc-12712f52-3081-4188-aebd-a836c44245f3 2025-11-25 08:29:47.802005 | controller | network_id: 8d07bbf9-c941-4072-96cc-7b9f0d4efde9 2025-11-25 08:29:47.802122 | controller | numa_affinity_policy: null 2025-11-25 08:29:47.802268 | controller | port_security_enabled: false 2025-11-25 08:29:47.802390 | controller | project_id: 4b633c451ac74233be3721a3635275e5 2025-11-25 08:29:47.802490 | controller | propagate_uplink_status: null 2025-11-25 08:29:47.802593 | controller | resource_request: null 2025-11-25 08:29:47.802743 | controller | revision_number: 1 2025-11-25 08:29:47.802856 | controller | qos_network_policy_id: null 2025-11-25 08:29:47.802972 | controller | qos_policy_id: null 2025-11-25 08:29:47.803140 | controller | security_group_ids: [] 2025-11-25 08:29:47.803242 | controller | status: DOWN 2025-11-25 08:29:47.803335 | controller | tags: [] 2025-11-25 08:29:47.803430 | controller | trunk_details: null 2025-11-25 08:29:47.803529 | controller | trusted: null 2025-11-25 08:29:47.803666 | controller | updated_at: '2025-11-25T08:29:47Z' 2025-11-25 08:29:48.237232 | controller | changed 2025-11-25 08:29:48.251301 | 2025-11-25 08:29:48.251440 | TASK [Set common facts for further usage] 2025-11-25 08:29:48.354958 | controller | ok 2025-11-25 08:29:48.368248 | 2025-11-25 08:29:48.368401 | TASK [Create the trunk port] 2025-11-25 08:29:48.919672 | controller | skipping: Conditional result was False 2025-11-25 08:29:48.934548 | 2025-11-25 08:29:48.934767 | TASK [Avoid NetworkManager to automatically picked up the new interface] 2025-11-25 08:29:49.022533 | controller | skipping: Conditional result was False 2025-11-25 08:29:49.032667 | 2025-11-25 08:29:49.032798 | TASK [Refresh NetworkManager] 2025-11-25 08:29:49.101626 | controller | skipping: Conditional result was False 2025-11-25 08:29:49.119843 | 2025-11-25 08:29:49.120003 | TASK [Attach the port to the instance] 2025-11-25 08:29:56.180373 | controller | changed 2025-11-25 08:29:56.193997 | 2025-11-25 08:29:56.194163 | TASK [Wait till the interface exists] 2025-11-25 08:29:56.589979 | controller -> 38.102.83.222 | changed 2025-11-25 08:29:56.646043 | 2025-11-25 08:29:56.646190 | TASK [Prepare interface data to be used configuring trunk and vlan ifaces] 2025-11-25 08:29:56.779103 | controller | ok 2025-11-25 08:29:56.792410 | 2025-11-25 08:29:56.792549 | LOOP [Create VLANs ports and attach them to the trunk] 2025-11-25 08:29:56.851763 | controller | skipping: Conditional result was False 2025-11-25 08:29:59.863538 | controller | skipping: Conditional result was False 2025-11-25 08:30:02.879110 | controller | skipping: Conditional result was False 2025-11-25 08:30:02.889803 | 2025-11-25 08:30:02.889964 | LOOP [Prepare VLANs interface data to be used configuring] 2025-11-25 08:30:03.017820 | controller | ok: 2025-11-25 08:30:03.018031 | controller | { 2025-11-25 08:30:03.018056 | controller | "key": "internal-api", 2025-11-25 08:30:03.018080 | controller | "value": { 2025-11-25 08:30:03.018097 | controller | "ip": "172.17.0.5" 2025-11-25 08:30:03.018113 | controller | } 2025-11-25 08:30:03.018128 | controller | } 2025-11-25 08:30:03.018151 | 2025-11-25 08:30:03.084250 | controller | ok: 2025-11-25 08:30:03.084401 | controller | { 2025-11-25 08:30:03.084488 | controller | "key": "storage", 2025-11-25 08:30:03.084532 | controller | "value": { 2025-11-25 08:30:03.084569 | controller | "ip": "172.18.0.5" 2025-11-25 08:30:03.084606 | controller | } 2025-11-25 08:30:03.084654 | controller | } 2025-11-25 08:30:03.124937 | controller | ok: 2025-11-25 08:30:03.125176 | controller | { 2025-11-25 08:30:03.125245 | controller | "key": "tenant", 2025-11-25 08:30:03.125295 | controller | "value": { 2025-11-25 08:30:03.125347 | controller | "ip": "172.19.0.5" 2025-11-25 08:30:03.125399 | controller | } 2025-11-25 08:30:03.125474 | controller | } 2025-11-25 08:30:03.162467 | 2025-11-25 08:30:03.162682 | LOOP [Create NetworkManager configuration file for the trunk port] 2025-11-25 08:30:04.097976 | controller -> 38.102.83.222 | changed: 2025-11-25 08:30:04.098466 | controller -> 38.102.83.222 | { 2025-11-25 08:30:04.098525 | controller -> 38.102.83.222 | "key": "default", 2025-11-25 08:30:04.098567 | controller -> 38.102.83.222 | "value": { 2025-11-25 08:30:04.098650 | controller -> 38.102.83.222 | "connection": "ci-private-network", 2025-11-25 08:30:04.098741 | controller -> 38.102.83.222 | "gw": "192.168.122.1", 2025-11-25 08:30:04.098804 | controller -> 38.102.83.222 | "iface": "ens7", 2025-11-25 08:30:04.098842 | controller -> 38.102.83.222 | "ip": "192.168.122.10/24", 2025-11-25 08:30:04.098877 | controller -> 38.102.83.222 | "mac": "fa:16:3e:62:b5:40", 2025-11-25 08:30:04.098910 | controller -> 38.102.83.222 | "mtu": "1500" 2025-11-25 08:30:04.098945 | controller -> 38.102.83.222 | } 2025-11-25 08:30:04.098979 | controller -> 38.102.83.222 | } 2025-11-25 08:30:05.015495 | controller -> 38.102.83.222 | changed: 2025-11-25 08:30:05.015735 | controller -> 38.102.83.222 | { 2025-11-25 08:30:05.015798 | controller -> 38.102.83.222 | "key": "internal-api", 2025-11-25 08:30:05.015839 | controller -> 38.102.83.222 | "value": { 2025-11-25 08:30:05.015875 | controller -> 38.102.83.222 | "connection": "ci-private-network-20", 2025-11-25 08:30:05.015910 | controller -> 38.102.83.222 | "iface": "ens7.20", 2025-11-25 08:30:05.015944 | controller -> 38.102.83.222 | "ip": "172.17.0.5/24", 2025-11-25 08:30:05.015977 | controller -> 38.102.83.222 | "mac": "52:54:00:f2:dc:f0", 2025-11-25 08:30:05.016011 | controller -> 38.102.83.222 | "mtu": "1496", 2025-11-25 08:30:05.016044 | controller -> 38.102.83.222 | "parent_iface": "ens7", 2025-11-25 08:30:05.016078 | controller -> 38.102.83.222 | "vlan": 20 2025-11-25 08:30:05.016111 | controller -> 38.102.83.222 | } 2025-11-25 08:30:05.016144 | controller -> 38.102.83.222 | } 2025-11-25 08:30:05.946932 | controller -> 38.102.83.222 | changed: 2025-11-25 08:30:05.947094 | controller -> 38.102.83.222 | { 2025-11-25 08:30:05.947144 | controller -> 38.102.83.222 | "key": "storage", 2025-11-25 08:30:05.947183 | controller -> 38.102.83.222 | "value": { 2025-11-25 08:30:05.947221 | controller -> 38.102.83.222 | "connection": "ci-private-network-21", 2025-11-25 08:30:05.947266 | controller -> 38.102.83.222 | "iface": "ens7.21", 2025-11-25 08:30:05.947357 | controller -> 38.102.83.222 | "ip": "172.18.0.5/24", 2025-11-25 08:30:05.947400 | controller -> 38.102.83.222 | "mac": "52:54:00:b4:3d:9d", 2025-11-25 08:30:05.947434 | controller -> 38.102.83.222 | "mtu": "1496", 2025-11-25 08:30:05.947467 | controller -> 38.102.83.222 | "parent_iface": "ens7", 2025-11-25 08:30:05.947500 | controller -> 38.102.83.222 | "vlan": 21 2025-11-25 08:30:05.947533 | controller -> 38.102.83.222 | } 2025-11-25 08:30:05.947567 | controller -> 38.102.83.222 | } 2025-11-25 08:30:06.826301 | controller -> 38.102.83.222 | changed: 2025-11-25 08:30:06.826727 | controller -> 38.102.83.222 | { 2025-11-25 08:30:06.826799 | controller -> 38.102.83.222 | "key": "tenant", 2025-11-25 08:30:06.826840 | controller -> 38.102.83.222 | "value": { 2025-11-25 08:30:06.826877 | controller -> 38.102.83.222 | "connection": "ci-private-network-22", 2025-11-25 08:30:06.826912 | controller -> 38.102.83.222 | "iface": "ens7.22", 2025-11-25 08:30:06.826946 | controller -> 38.102.83.222 | "ip": "172.19.0.5/24", 2025-11-25 08:30:06.826981 | controller -> 38.102.83.222 | "mac": "52:54:00:e4:5a:d9", 2025-11-25 08:30:06.827014 | controller -> 38.102.83.222 | "mtu": "1496", 2025-11-25 08:30:06.827047 | controller -> 38.102.83.222 | "parent_iface": "ens7", 2025-11-25 08:30:06.827080 | controller -> 38.102.83.222 | "vlan": 22 2025-11-25 08:30:06.827112 | controller -> 38.102.83.222 | } 2025-11-25 08:30:06.827146 | controller -> 38.102.83.222 | } 2025-11-25 08:30:06.860580 | 2025-11-25 08:30:06.860825 | TASK [Refresh NetworkManager] 2025-11-25 08:30:07.652809 | controller -> 38.102.83.222 | changed 2025-11-25 08:30:07.665582 | 2025-11-25 08:30:07.665728 | TASK [Debug fetch IP routes] 2025-11-25 08:30:07.978878 | controller -> 38.102.83.222 | changed 2025-11-25 08:30:07.995157 | 2025-11-25 08:30:07.995300 | TASK [Debug IP routes] 2025-11-25 08:30:08.053593 | controller -> 38.102.83.222 | ok 2025-11-25 08:30:08.063203 | 2025-11-25 08:30:08.063295 | TASK [Display some data about network ports] 2025-11-25 08:30:09.828223 | controller | +--------------------------------------+-------------------------------------------------+-------------------+-------------------------------------------------------------------------------+--------+ 2025-11-25 08:30:09.966701 | controller | | ID | Name | MAC Address | Fixed IP Addresses | Status | 2025-11-25 08:30:09.966890 | controller | +--------------------------------------+-------------------------------------------------+-------------------+-------------------------------------------------------------------------------+--------+ 2025-11-25 08:30:09.966909 | controller | | 0f918b5b-e4e6-4c04-abb5-f2fa79ced4de | crc-12712f52-3081-4188-aebd-a836c44245f3 | fa:16:3e:62:b5:40 | ip_address='192.168.122.10', subnet_id='c14a23ac-2fa5-410b-9643-10211513380d' | ACTIVE | 2025-11-25 08:30:09.966969 | controller | | cfde79bf-875c-412a-ac29-195f139911a9 | | fa:16:3e:42:a9:a5 | | DOWN | 2025-11-25 08:30:09.966987 | controller | | fd6f5210-5d15-41d1-802b-49fb0f7c9837 | controller-37edd32e-fdad-44fe-a11b-0afecce5e389 | fa:16:3e:2b:5e:28 | ip_address='192.168.122.11', subnet_id='c14a23ac-2fa5-410b-9643-10211513380d' | ACTIVE | 2025-11-25 08:30:09.967006 | controller | +--------------------------------------+-------------------------------------------------+-------------------+-------------------------------------------------------------------------------+--------+ 2025-11-25 08:30:10.109372 | controller | changed 2025-11-25 08:30:10.122910 | 2025-11-25 08:30:10.123064 | LOOP [Display server configuration] 2025-11-25 08:30:13.508424 | controller | changed 2025-11-25 08:30:13.509023 | controller | changed: All items complete 2025-11-25 08:30:13.509097 | 2025-11-25 08:30:18.832404 | controller | changed 2025-11-25 08:30:18.850579 | 2025-11-25 08:30:18.850775 | TASK [Fetch underneath provider DNSs] 2025-11-25 08:30:18.880555 | controller | ok 2025-11-25 08:30:18.896281 | controller | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/trusted/project_0/review.rdoproject.org/config/playbooks/crc/bootstrap-ci-network-fetch-provider-dns.yml 2025-11-25 08:30:18.917077 | 2025-11-25 08:30:18.917216 | TASK [Fetch the DNS list of the default interface] 2025-11-25 08:30:19.324863 | controller | ok 2025-11-25 08:30:19.337591 | 2025-11-25 08:30:19.337789 | TASK [Set provider DNS for further usage] 2025-11-25 08:30:19.421758 | controller | ok 2025-11-25 08:30:19.435956 | 2025-11-25 08:30:19.436098 | LOOP [Save networking data to file for further usage] 2025-11-25 08:30:20.353555 | controller -> 38.102.83.222 | changed: "crc" 2025-11-25 08:30:21.129242 | controller -> 38.102.83.98 | changed: "controller" 2025-11-25 08:30:21.149147 | 2025-11-25 08:30:21.149438 | TASK [Remove cloud_secrets file] 2025-11-25 08:30:21.422239 | controller | changed 2025-11-25 08:30:21.486851 | 2025-11-25 08:30:21.487008 | PLAY RECAP 2025-11-25 08:30:21.487072 | controller | ok: 48 changed: 22 unreachable: 0 failed: 0 skipped: 14 rescued: 0 ignored: 0 2025-11-25 08:30:21.487096 | 2025-11-25 08:30:21.653992 | PRE-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/crc/bootstrap-ci-network.yml@master] 2025-11-25 08:30:21.657808 | PRE-RUN START: [trusted : review.rdoproject.org/config/playbooks/crc/prepare-crc.yaml@master] 2025-11-25 08:30:22.264363 | 2025-11-25 08:30:22.264469 | PLAY [Prefer ipv4 over ipv6] 2025-11-25 08:30:22.299817 | 2025-11-25 08:30:22.299901 | TASK [Configure /etc/gai.conf to prever ipv4 over ipv6] 2025-11-25 08:30:22.366460 | controller | skipping: Conditional result was False 2025-11-25 08:30:22.377265 | crc | skipping: Conditional result was False 2025-11-25 08:30:22.423731 | 2025-11-25 08:30:22.423800 | PLAY [Generic task for migration time to crc-cloud] 2025-11-25 08:30:22.443250 | 2025-11-25 08:30:22.443312 | TASK [Check if there is a image build date file] 2025-11-25 08:30:22.878613 | crc | ok 2025-11-25 08:30:22.897982 | 2025-11-25 08:30:22.898137 | TASK [Print image date] 2025-11-25 08:30:23.316686 | crc | Mon Nov 24 17:18:46 UTC 2025 | Image type: crc-cloud 2025-11-25 08:30:23.454568 | crc | ok 2025-11-25 08:30:23.505230 | 2025-11-25 08:30:23.505376 | TASK [Run crc-cloud preparation] 2025-11-25 08:30:23.546702 | crc | ok 2025-11-25 08:30:23.593768 | 2025-11-25 08:30:23.593871 | TASK [prepare-crc-cloud : Print build date] 2025-11-25 08:30:23.633938 | crc | ok 2025-11-25 08:30:23.648649 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/build_date.yaml 2025-11-25 08:30:23.661871 | 2025-11-25 08:30:23.661957 | TASK [prepare-crc-cloud : Check if there is a image build date file] 2025-11-25 08:30:23.962133 | crc | ok 2025-11-25 08:30:23.985315 | 2025-11-25 08:30:23.985481 | TASK [prepare-crc-cloud : Print image date if available] 2025-11-25 08:30:24.300407 | crc | Mon Nov 24 17:18:46 UTC 2025 | Image type: crc-cloud 2025-11-25 08:30:24.561933 | crc | ok 2025-11-25 08:30:24.583110 | 2025-11-25 08:30:24.583440 | TASK [prepare-crc-cloud : Tune Kubelet config file] 2025-11-25 08:30:24.613951 | crc | skipping: Conditional result was False 2025-11-25 08:30:24.634900 | 2025-11-25 08:30:24.635140 | TASK [prepare-crc-cloud : Reboot CRC host to get the network interfaces] 2025-11-25 08:30:24.685114 | crc | ok 2025-11-25 08:30:24.702725 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/reboot_crc.yaml 2025-11-25 08:30:24.719745 | 2025-11-25 08:30:24.719855 | TASK [prepare-crc-cloud : Reboot host after adding pull secret and changing kubelet node params] 2025-11-25 08:31:19.061371 | crc | changed 2025-11-25 08:31:19.078142 | 2025-11-25 08:31:19.078337 | TASK [Start Zuul console after reboot] 2025-11-25 08:31:19.120624 | crc | ok 2025-11-25 08:31:19.155706 | 2025-11-25 08:31:19.155797 | TASK [start-zuul-console : Start zuul_console daemon.] 2025-11-25 08:31:19.707436 | crc | ok 2025-11-25 08:31:19.739647 | 2025-11-25 08:31:19.739866 | TASK [prepare-crc-cloud : Prepare for executing crc-cloud] 2025-11-25 08:31:19.775903 | crc | ok 2025-11-25 08:31:19.787741 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/pre.yaml 2025-11-25 08:31:19.804030 | 2025-11-25 08:31:19.804145 | TASK [prepare-crc-cloud : Disable overwriting /etc/resolv.conf by the NetworkManager] 2025-11-25 08:31:20.844927 | crc | changed 2025-11-25 08:31:20.862581 | 2025-11-25 08:31:20.862782 | TASK [prepare-crc-cloud : Reload NetworkManager after creating custom rules] 2025-11-25 08:31:21.865155 | crc | changed 2025-11-25 08:31:21.887439 | 2025-11-25 08:31:21.887841 | TASK [prepare-crc-cloud : Inject pull secret into /var/lib/kubelet/config.json] 2025-11-25 08:31:22.796487 | crc | changed 2025-11-25 08:31:22.848412 | 2025-11-25 08:31:22.848557 | TASK [prepare-crc-cloud : Check if etcd slow profile set] 2025-11-25 08:31:22.884161 | crc | skipping: Conditional result was False 2025-11-25 08:31:22.897081 | 2025-11-25 08:31:22.897196 | TASK [prepare-crc-cloud : Use ramdisk for etcd] 2025-11-25 08:31:22.934225 | crc | ok 2025-11-25 08:31:22.949947 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/ramdisk.yaml 2025-11-25 08:31:22.967893 | 2025-11-25 08:31:22.967980 | TASK [prepare-crc-cloud : Move current etcd to other place] 2025-11-25 08:31:23.507703 | crc | ok 2025-11-25 08:31:23.515084 | 2025-11-25 08:31:23.515187 | TASK [prepare-crc-cloud : Mount ramdisk] 2025-11-25 08:31:23.984888 | crc | changed 2025-11-25 08:31:24.002317 | 2025-11-25 08:31:24.002464 | TASK [prepare-crc-cloud : Set proper permissions after mount] 2025-11-25 08:31:24.438832 | crc | changed 2025-11-25 08:31:24.455954 | 2025-11-25 08:31:24.456126 | TASK [prepare-crc-cloud : Copy content from old location to ramdisk] 2025-11-25 08:31:25.992422 | crc | changed 2025-11-25 08:31:26.004996 | 2025-11-25 08:31:26.005189 | TASK [prepare-crc-cloud : Set proper SELinux context] 2025-11-25 08:31:26.604201 | crc | ok 2025-11-25 08:31:26.621112 | 2025-11-25 08:31:26.621253 | TASK [prepare-crc-cloud : Block crc.testing domains] 2025-11-25 08:31:26.655267 | crc | ok 2025-11-25 08:31:26.675033 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/block_crc_domains.yaml 2025-11-25 08:31:26.693459 | 2025-11-25 08:31:26.693546 | LOOP [prepare-crc-cloud : Set crc.testing domains into /etc/hosts] 2025-11-25 08:31:27.174015 | crc | changed: line added 2025-11-25 08:31:27.429841 | crc | changed: line added 2025-11-25 08:31:27.677006 | crc | changed: line added 2025-11-25 08:31:27.951439 | crc | changed: line added 2025-11-25 08:31:28.216285 | crc | changed: line added 2025-11-25 08:31:28.478448 | crc | changed: line added 2025-11-25 08:31:28.752092 | crc | changed: line added 2025-11-25 08:31:28.992517 | crc | changed: line added 2025-11-25 08:31:29.024315 | 2025-11-25 08:31:29.024463 | TASK [prepare-crc-cloud : Get default interface name] 2025-11-25 08:31:29.606321 | crc | ens3 2025-11-25 08:31:29.658340 | crc | ok 2025-11-25 08:31:29.666144 | 2025-11-25 08:31:29.666213 | LOOP [prepare-crc-cloud : Block CRC domains also using iptables] 2025-11-25 08:31:30.174036 | crc | ok 2025-11-25 08:31:30.174761 | crc | changed: All items complete 2025-11-25 08:31:30.174855 | 2025-11-25 08:31:30.479238 | crc | ok 2025-11-25 08:31:30.750967 | crc | ok 2025-11-25 08:31:31.027249 | crc | ok 2025-11-25 08:31:31.288821 | crc | ok 2025-11-25 08:31:31.545801 | crc | ok 2025-11-25 08:31:31.836210 | crc | ok 2025-11-25 08:31:32.082308 | crc | ok 2025-11-25 08:31:32.107037 | 2025-11-25 08:31:32.107361 | TASK [prepare-crc-cloud : Set required facts] 2025-11-25 08:31:32.150956 | crc | ok 2025-11-25 08:31:32.168516 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/set_vars.yaml 2025-11-25 08:31:32.190043 | 2025-11-25 08:31:32.190142 | TASK [prepare-crc-cloud : Set required facts] 2025-11-25 08:31:32.275408 | crc | Output suppressed because no_log was given 2025-11-25 08:31:32.285043 | 2025-11-25 08:31:32.285124 | TASK [Start crc-cloud role when Zuul defined] 2025-11-25 08:31:32.329587 | crc | ok 2025-11-25 08:31:32.386333 | 2025-11-25 08:31:32.386467 | TASK [deploy-crc-cloud : Check if pull-secret is provided] 2025-11-25 08:31:32.410620 | crc | skipping: Conditional result was False 2025-11-25 08:31:32.419130 | 2025-11-25 08:31:32.419211 | TASK [deploy-crc-cloud : Create kubeconfig] 2025-11-25 08:31:32.450262 | crc | ok 2025-11-25 08:31:32.459506 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/kubeconfig.yaml 2025-11-25 08:31:32.471328 | 2025-11-25 08:31:32.471390 | TASK [deploy-crc-cloud : Create kube directory] 2025-11-25 08:31:32.757576 | crc | changed 2025-11-25 08:31:32.774659 | 2025-11-25 08:31:32.774895 | TASK [deploy-crc-cloud : Copy kubeconfig to user dir] 2025-11-25 08:31:33.219126 | crc | changed 2025-11-25 08:31:33.236990 | 2025-11-25 08:31:33.237150 | TASK [deploy-crc-cloud : Setup dnsmasq] 2025-11-25 08:31:33.274822 | crc | ok 2025-11-25 08:31:33.297652 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/dnsmasq.yaml 2025-11-25 08:31:33.317332 | 2025-11-25 08:31:33.317419 | TASK [deploy-crc-cloud : Disable overwriting /etc/resolv.conf by the NetworkManager] 2025-11-25 08:31:34.142613 | crc | ok 2025-11-25 08:31:34.210188 | 2025-11-25 08:31:34.210325 | TASK [deploy-crc-cloud : Restart NetworkManager when its needed] 2025-11-25 08:31:34.234950 | crc | skipping: Conditional result was False 2025-11-25 08:31:34.244070 | 2025-11-25 08:31:34.244236 | TASK [deploy-crc-cloud : Ensure /etc/resolv.conf is not a symlink and is writable] 2025-11-25 08:31:34.553851 | crc | ok 2025-11-25 08:31:34.561930 | 2025-11-25 08:31:34.561999 | TASK [deploy-crc-cloud : Create crc-dnsmasq.conf] 2025-11-25 08:31:35.404366 | crc | changed 2025-11-25 08:31:35.420859 | 2025-11-25 08:31:35.420998 | LOOP [deploy-crc-cloud : Set this host as first nameserver in /etc/resolv.conf] 2025-11-25 08:31:35.778504 | crc | changed: line replaced 2025-11-25 08:31:36.035137 | crc | ok 2025-11-25 08:31:36.296050 | crc | ok 2025-11-25 08:31:36.325739 | 2025-11-25 08:31:36.325945 | TASK [deploy-crc-cloud : Restart dnsmasq] 2025-11-25 08:31:37.130565 | crc | changed 2025-11-25 08:31:37.152983 | 2025-11-25 08:31:37.153122 | TASK [deploy-crc-cloud : Start kubelet] 2025-11-25 08:31:37.192101 | crc | ok 2025-11-25 08:31:37.206199 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/kubelet.yaml 2025-11-25 08:31:37.229084 | 2025-11-25 08:31:37.229179 | TASK [deploy-crc-cloud : Start and enable kubelet] 2025-11-25 08:31:57.782829 | crc | changed 2025-11-25 08:31:57.803193 | 2025-11-25 08:31:57.803324 | TASK [deploy-crc-cloud : Wait for port 6443 to be up] 2025-11-25 08:32:58.388492 | crc | ok 2025-11-25 08:32:58.395500 | 2025-11-25 08:32:58.395563 | TASK [deploy-crc-cloud : Wait for API to start before continue] 2025-11-25 08:33:00.235113 | crc | NAMESPACE NAME READY STATUS RESTARTS AGE 2025-11-25 08:33:00.235176 | crc | openshift-apiserver-operator openshift-apiserver-operator-796bbdcf4f-v4h8m 0/1 Pending 0 40s 2025-11-25 08:33:00.235186 | crc | openshift-apiserver apiserver-76f77b778f-tdh58 0/2 Pending 0 40s 2025-11-25 08:33:00.235192 | crc | openshift-authentication-operator authentication-operator-69f744f599-sbjq5 0/1 Pending 0 40s 2025-11-25 08:33:00.235198 | crc | openshift-authentication oauth-openshift-558db77b4-cp6xb 0/1 Pending 0 40s 2025-11-25 08:33:00.235204 | crc | openshift-cluster-machine-approver machine-approver-56656f9798-6gbsh 0/2 Pending 0 42s 2025-11-25 08:33:00.235212 | crc | openshift-cluster-samples-operator cluster-samples-operator-665b6dd947-62hpb 0/2 Pending 0 40s 2025-11-25 08:33:00.235220 | crc | openshift-cluster-version cluster-version-operator-5c965bbfc6-rt2j8 0/1 Pending 0 40s 2025-11-25 08:33:00.235229 | crc | openshift-config-operator openshift-config-operator-7777fb866f-h4twb 0/1 Pending 0 40s 2025-11-25 08:33:00.235250 | crc | openshift-console-operator console-operator-58897d9998-hgrjf 0/1 Pending 0 40s 2025-11-25 08:33:00.235273 | crc | openshift-console console-f9d7485db-drxvl 0/1 Pending 0 40s 2025-11-25 08:33:00.235294 | crc | openshift-console downloads-7954f5f757-pkzqv 0/1 Pending 0 40s 2025-11-25 08:33:00.235310 | crc | openshift-controller-manager-operator openshift-controller-manager-operator-756b6f6bc6-dxmzh 0/1 Pending 0 40s 2025-11-25 08:33:00.235330 | crc | openshift-controller-manager controller-manager-879f6c89f-zcx7w 0/1 Pending 0 40s 2025-11-25 08:33:00.235351 | crc | openshift-dns-operator dns-operator-744455d44c-9xsbj 0/2 Pending 0 40s 2025-11-25 08:33:00.235380 | crc | openshift-dns node-resolver-qq84d 0/1 Pending 0 42s 2025-11-25 08:33:00.235392 | crc | openshift-etcd-operator etcd-operator-b45778765-xm5w7 0/1 Pending 0 40s 2025-11-25 08:33:00.235417 | crc | openshift-etcd etcd-crc 0/5 Pending 0 42s 2025-11-25 08:33:00.235436 | crc | openshift-image-registry cluster-image-registry-operator-dc59b4c8b-bffcm 0/1 Pending 0 40s 2025-11-25 08:33:00.235458 | crc | openshift-image-registry image-registry-697d97f7c8-pgczv 0/1 Pending 0 40s 2025-11-25 08:33:00.235481 | crc | openshift-image-registry node-ca-rm8sf 0/1 Pending 0 40s 2025-11-25 08:33:00.235501 | crc | openshift-ingress-operator ingress-operator-5b745b69d9-hmbm6 0/2 Pending 0 39s 2025-11-25 08:33:00.235529 | crc | openshift-ingress router-default-5444994796-8nvsz 0/1 Pending 0 39s 2025-11-25 08:33:00.235546 | crc | openshift-kube-apiserver-operator kube-apiserver-operator-766d6c64bb-2tlkh 0/1 Pending 0 39s 2025-11-25 08:33:00.235571 | crc | openshift-kube-apiserver kube-apiserver-crc 0/5 Pending 0 42s 2025-11-25 08:33:00.235583 | crc | openshift-kube-controller-manager-operator kube-controller-manager-operator-78b949d7b-2w6fr 0/1 Pending 0 39s 2025-11-25 08:33:00.235611 | crc | openshift-kube-controller-manager kube-controller-manager-crc 0/4 Pending 0 34s 2025-11-25 08:33:00.235621 | crc | openshift-kube-scheduler-operator openshift-kube-scheduler-operator-5fdd9b5758-xlhl6 0/1 Pending 0 39s 2025-11-25 08:33:00.235636 | crc | openshift-kube-scheduler openshift-kube-scheduler-crc 0/3 Pending 0 7s 2025-11-25 08:33:00.235649 | crc | openshift-kube-storage-version-migrator-operator kube-storage-version-migrator-operator-b67b599dd-ksdr6 0/1 Pending 0 39s 2025-11-25 08:33:00.235667 | crc | openshift-kube-storage-version-migrator migrator-59844c95c7-kp7kv 0/2 Pending 0 39s 2025-11-25 08:33:00.235685 | crc | openshift-machine-api control-plane-machine-set-operator-78cbb6b69f-hsj9l 0/1 Pending 0 39s 2025-11-25 08:33:00.235730 | crc | openshift-machine-api machine-api-operator-5694c8668f-672bj 0/2 Pending 0 39s 2025-11-25 08:33:00.235740 | crc | openshift-machine-config-operator machine-config-controller-84d6567774-s69rl 0/2 Pending 0 39s 2025-11-25 08:33:00.235752 | crc | openshift-machine-config-operator machine-config-daemon-9svqq 0/2 Pending 0 41s 2025-11-25 08:33:00.235770 | crc | openshift-machine-config-operator machine-config-operator-74547568cd-4tjmv 0/2 Pending 0 39s 2025-11-25 08:33:00.235789 | crc | openshift-marketplace marketplace-operator-79b997595-nc5jc 0/1 Pending 0 39s 2025-11-25 08:33:00.235818 | crc | openshift-multus multus-additional-cni-plugins-9nn8n 0/1 Pending 0 40s 2025-11-25 08:33:00.235845 | crc | openshift-multus multus-admission-controller-857f4d67dd-8vvxm 0/2 Pending 0 39s 2025-11-25 08:33:00.235879 | crc | openshift-multus multus-rnlzm 0/1 Pending 0 41s 2025-11-25 08:33:00.235909 | crc | openshift-multus network-metrics-daemon-65258 0/2 Pending 0 40s 2025-11-25 08:33:00.235927 | crc | openshift-network-console networking-console-plugin-85b44fc459-gdk6g 1/1 Running 2 275d 2025-11-25 08:33:00.235945 | crc | openshift-network-diagnostics network-check-source-55646444c4-trplf 1/1 Running 2 275d 2025-11-25 08:33:00.235965 | crc | openshift-network-diagnostics network-check-target-xd92c 1/1 Running 2 275d 2025-11-25 08:33:00.235984 | crc | openshift-network-node-identity network-node-identity-vrzqb 2/2 Running 7 275d 2025-11-25 08:33:00.236005 | crc | openshift-network-operator iptables-alerter-4ln5h 1/1 Running 2 275d 2025-11-25 08:33:00.236024 | crc | openshift-network-operator network-operator-58b4c7f79c-55gtf 1/1 Running 4 275d 2025-11-25 08:33:00.236044 | crc | openshift-oauth-apiserver apiserver-7bbb656c7d-9mkb2 0/1 Pending 0 39s 2025-11-25 08:33:00.236061 | crc | openshift-operator-lifecycle-manager catalog-operator-68c6474976-p68gf 0/1 Pending 0 39s 2025-11-25 08:33:00.236082 | crc | openshift-operator-lifecycle-manager collect-profiles-29400990-hm8vg 0/1 Pending 0 40s 2025-11-25 08:33:00.236096 | crc | openshift-operator-lifecycle-manager olm-operator-6b444d44fb-2k9d7 0/1 Pending 0 39s 2025-11-25 08:33:00.236114 | crc | openshift-operator-lifecycle-manager package-server-manager-789f6589d5-wbvdx 0/2 Pending 0 39s 2025-11-25 08:33:00.236133 | crc | openshift-operator-lifecycle-manager packageserver-d55dfcdfc-m7686 0/1 Pending 0 39s 2025-11-25 08:33:00.236152 | crc | openshift-ovn-kubernetes ovnkube-control-plane-749d76644c-jxntj 0/2 Pending 0 39s 2025-11-25 08:33:00.236175 | crc | openshift-ovn-kubernetes ovnkube-node-zj7qv 0/8 Pending 0 40s 2025-11-25 08:33:00.236191 | crc | openshift-route-controller-manager route-controller-manager-6576b87f9c-8s78z 0/1 Pending 0 39s 2025-11-25 08:33:00.236210 | crc | openshift-service-ca-operator service-ca-operator-777779d784-fzjr4 0/1 Pending 0 39s 2025-11-25 08:33:00.236230 | crc | openshift-service-ca service-ca-9c57cc56f-5cj2v 0/1 Pending 0 39s 2025-11-25 08:33:00.437934 | crc | ok 2025-11-25 08:33:00.468663 | 2025-11-25 08:33:00.468815 | TASK [deploy-crc-cloud : Replace default pubkey] 2025-11-25 08:33:00.494817 | crc | ok 2025-11-25 08:33:00.508706 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/pubkey.yaml 2025-11-25 08:33:00.532519 | 2025-11-25 08:33:00.532580 | TASK [deploy-crc-cloud : Check if id_rsa.pub exists] 2025-11-25 08:33:00.827579 | crc | ok 2025-11-25 08:33:00.843977 | 2025-11-25 08:33:00.844104 | TASK [deploy-crc-cloud : Read pub key] 2025-11-25 08:33:01.396338 | crc | skipping: Conditional result was False 2025-11-25 08:33:01.419645 | 2025-11-25 08:33:01.419866 | TASK [deploy-crc-cloud : Wait for machineconfig] 2025-11-25 08:33:01.461713 | crc | skipping: Conditional result was False 2025-11-25 08:33:01.480006 | 2025-11-25 08:33:01.480150 | TASK [deploy-crc-cloud : Patch machineconfig 99-master-ssh] 2025-11-25 08:33:02.028547 | crc | skipping: Conditional result was False 2025-11-25 08:33:02.053545 | 2025-11-25 08:33:02.053703 | TASK [deploy-crc-cloud : Wait for cluster become healthy] 2025-11-25 08:33:02.092323 | crc | ok 2025-11-25 08:33:02.105949 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/wait_cluster_become_healthy.yaml 2025-11-25 08:33:02.129853 | 2025-11-25 08:33:02.129939 | TASK [deploy-crc-cloud : Check if specified OpenShift components are healthy etcd|openshift-apiserver] 2025-11-25 08:33:02.624604 | crc | True 2025-11-25 08:33:02.625240 | crc | False 2025-11-25 08:34:50.523062 | crc | changed 2025-11-25 08:34:50.542294 | 2025-11-25 08:34:50.542449 | TASK [deploy-crc-cloud : Output success message if components are healthy] 2025-11-25 08:34:50.582242 | crc | ok: OpenShift cluster components have become healthy in approximately 20 * 15 seconds. 2025-11-25 08:34:50.592571 | 2025-11-25 08:34:50.592660 | TASK [deploy-crc-cloud : Fail if any components are still unhealthy] 2025-11-25 08:34:50.620733 | crc | skipping: Conditional result was False 2025-11-25 08:34:50.633787 | 2025-11-25 08:34:50.633878 | TASK [deploy-crc-cloud : Set credentials] 2025-11-25 08:34:50.678802 | crc | ok 2025-11-25 08:34:50.696740 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/set_credentials.yaml 2025-11-25 08:34:50.725567 | 2025-11-25 08:34:50.725736 | TASK [deploy-crc-cloud : Ensure htpasswd.txt does not exists] 2025-11-25 08:34:51.056725 | crc | ok 2025-11-25 08:34:51.074735 | 2025-11-25 08:34:51.074872 | TASK [deploy-crc-cloud : Create temporary directory] 2025-11-25 08:34:51.529572 | crc | changed 2025-11-25 08:34:51.554282 | 2025-11-25 08:34:51.554516 | LOOP [deploy-crc-cloud : Get htpasswd] 2025-11-25 08:34:51.656218 | crc | Output suppressed because no_log was given 2025-11-25 08:34:51.671295 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/get_htpasswd.yaml 2025-11-25 08:34:51.673308 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/get_htpasswd.yaml 2025-11-25 08:34:51.675870 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/get_htpasswd.yaml 2025-11-25 08:34:51.704307 | 2025-11-25 08:34:51.704547 | TASK [deploy-crc-cloud : Get htpasswd for developer] 2025-11-25 08:35:09.623780 | crc | time="2025-11-25T08:35:09Z" level=warning msg="The input device is not a TTY. The --tty and --interactive flags might not work properly" 2025-11-25 08:35:09.629996 | crc | Trying to pull ghcr.io/crc-org/crc-cloud/httpd-tools:latest... 2025-11-25 08:35:10.037352 | crc | Getting image source signatures 2025-11-25 08:35:10.037573 | crc | Copying blob sha256:d79654aef0ca547a01bb2f6d116ddc9c00d0fcb5fe786606ecb1ececcb9186aa 2025-11-25 08:35:12.970696 | crc | Copying blob sha256:03b0c4cc4cd73e5e23be2059e3fd45509e5555dc4e38a3f7e64a79e7e660911f 2025-11-25 08:35:12.970776 | crc | Copying config sha256:baa92afe81008ec8db46b1b349f94ca18bceb9d8aac3bb873120cb11840da356 2025-11-25 08:35:12.980330 | crc | Writing manifest to image destination 2025-11-25 08:35:13.876391 | crc | changed 2025-11-25 08:35:13.895373 | 2025-11-25 08:35:13.895532 | TASK [deploy-crc-cloud : Get htpasswd for kubeadmin] 2025-11-25 08:35:14.378653 | crc | time="2025-11-25T08:35:14Z" level=warning msg="The input device is not a TTY. The --tty and --interactive flags might not work properly" 2025-11-25 08:35:14.960292 | crc | changed 2025-11-25 08:35:14.970836 | 2025-11-25 08:35:14.970911 | TASK [deploy-crc-cloud : Get htpasswd for redhat] 2025-11-25 08:35:15.400601 | crc | time="2025-11-25T08:35:15Z" level=warning msg="The input device is not a TTY. The --tty and --interactive flags might not work properly" 2025-11-25 08:35:25.066166 | crc | changed 2025-11-25 08:35:25.085594 | 2025-11-25 08:35:25.085796 | TASK [deploy-crc-cloud : Cleanup htpasswd.txt file] 2025-11-25 08:35:25.650117 | crc | changed 2025-11-25 08:35:25.669785 | 2025-11-25 08:35:25.669961 | TASK [deploy-crc-cloud : Create secret with generic htpass-secret] 2025-11-25 08:35:26.308407 | crc | changed 2025-11-25 08:35:26.318774 | 2025-11-25 08:35:26.318947 | TASK [deploy-crc-cloud : Replace htpass-secret] 2025-11-25 08:35:26.929790 | crc | secret/htpass-secret replaced 2025-11-25 08:35:27.376925 | crc | changed 2025-11-25 08:35:27.402356 | 2025-11-25 08:35:27.402615 | TASK [deploy-crc-cloud : Remove temporary directory] 2025-11-25 08:35:27.757327 | crc | changed 2025-11-25 08:35:27.771142 | 2025-11-25 08:35:27.771519 | TASK [deploy-crc-cloud : Replace default CA] 2025-11-25 08:35:27.830788 | crc | ok 2025-11-25 08:35:27.846071 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/replace_default_ca.yaml 2025-11-25 08:35:27.876587 | 2025-11-25 08:35:27.876781 | TASK [deploy-crc-cloud : Generate key] 2025-11-25 08:35:30.433667 | crc | changed 2025-11-25 08:35:30.459901 | 2025-11-25 08:35:30.460099 | TASK [deploy-crc-cloud : Generate cert] 2025-11-25 08:35:31.035810 | crc | changed 2025-11-25 08:35:31.060828 | 2025-11-25 08:35:31.061112 | TASK [deploy-crc-cloud : Generate csr] 2025-11-25 08:35:31.466892 | crc | ....+..+.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*....+........................+.+......+...+...+........+....+...+..+.+.....+......+.+..+.+.....+......+.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.....+......+....+......+.....+.......+.........+...+......+....................+......+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2025-11-25 08:35:31.581305 | crc | .....+......+.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.......+.......+...+.....+.........+....+.........+......+.....+....+......+..+.........+.+.........+..............+....+..+...+...+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*........+...+.....+......+......+.+..................+......+.........+.....+..........+.....+.+...+............+.....+.+.........+..............+.+...+........+...+.........+.+......+...+..+...+...+...+.......+..+.+...............+.....+.......+...+.....+.+.....+...+...+.........+................+...+..+....+.....+....+......+...+...+...+..............................+..+...+............+...+....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2025-11-25 08:35:31.584568 | crc | ----- 2025-11-25 08:35:31.637029 | crc | changed 2025-11-25 08:35:31.653800 | 2025-11-25 08:35:31.653947 | TASK [deploy-crc-cloud : Generate user cert] 2025-11-25 08:35:32.085810 | crc | Certificate request self-signature ok 2025-11-25 08:35:32.097658 | crc | subject=O = ${GROUP}, CN = core 2025-11-25 08:35:32.279486 | crc | changed 2025-11-25 08:35:32.296041 | 2025-11-25 08:35:32.296177 | TASK [deploy-crc-cloud : Create configmap] 2025-11-25 08:35:32.893069 | crc | configmap/client-ca-custom created 2025-11-25 08:35:33.367263 | crc | changed 2025-11-25 08:35:33.386636 | 2025-11-25 08:35:33.386930 | TASK [deploy-crc-cloud : Patch apiserver] 2025-11-25 08:35:33.931224 | crc | apiserver.config.openshift.io/cluster patched 2025-11-25 08:35:34.004041 | crc | changed 2025-11-25 08:35:34.018458 | 2025-11-25 08:35:34.018557 | TASK [deploy-crc-cloud : Create configmap] 2025-11-25 08:35:34.709580 | crc | W1125 08:35:34.709408 13509 helpers.go:703] --dry-run is deprecated and can be replaced with --dry-run=client. 2025-11-25 08:35:34.754901 | crc | configmap/admin-kubeconfig-client-ca replaced 2025-11-25 08:35:35.075275 | crc | changed 2025-11-25 08:35:35.092553 | 2025-11-25 08:35:35.092746 | TASK [deploy-crc-cloud : Login to the OpenShift cluster] 2025-11-25 08:35:35.154415 | crc | ok 2025-11-25 08:35:35.169015 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/login.yaml 2025-11-25 08:35:35.204426 | 2025-11-25 08:35:35.204503 | TASK [deploy-crc-cloud : Try to login after all changes] 2025-11-25 08:35:35.741657 | crc | WARNING: Using insecure TLS client config. Setting this option is not supported! 2025-11-25 08:35:35.857447 | crc | 2025-11-25 08:35:35.857506 | crc | Unable to connect to the server: EOF 2025-11-25 08:36:07.421154 | crc | ok 2025-11-25 08:36:07.439024 | 2025-11-25 08:36:07.439172 | TASK [deploy-crc-cloud : Patch pull secret] 2025-11-25 08:36:07.487373 | crc | ok 2025-11-25 08:36:07.504698 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/patch_pull_secret.yaml 2025-11-25 08:36:07.542830 | 2025-11-25 08:36:07.542902 | TASK [deploy-crc-cloud : Patch pull secret] 2025-11-25 08:36:08.082884 | crc | Output suppressed because no_log was given 2025-11-25 08:36:08.090480 | 2025-11-25 08:36:08.090543 | TASK [deploy-crc-cloud : Wait for cluster become healthy after patching CA and pull secret] 2025-11-25 08:36:08.141249 | crc | ok 2025-11-25 08:36:08.153140 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/wait_cluster_become_healthy.yaml 2025-11-25 08:36:08.190650 | 2025-11-25 08:36:08.190745 | TASK [deploy-crc-cloud : Check if specified OpenShift components are healthy etcd|openshift-apiserver] 2025-11-25 08:36:08.674228 | crc | True 2025-11-25 08:36:08.685456 | crc | True 2025-11-25 08:36:08.737818 | crc | changed 2025-11-25 08:36:08.748230 | 2025-11-25 08:36:08.748318 | TASK [deploy-crc-cloud : Output success message if components are healthy] 2025-11-25 08:36:08.789283 | crc | ok: OpenShift cluster components have become healthy in approximately 20 * 15 seconds. 2025-11-25 08:36:08.800020 | 2025-11-25 08:36:08.800109 | TASK [deploy-crc-cloud : Fail if any components are still unhealthy] 2025-11-25 08:36:08.826123 | crc | skipping: Conditional result was False 2025-11-25 08:36:08.838405 | 2025-11-25 08:36:08.838506 | TASK [deploy-crc-cloud : Create certificate and patch secret] 2025-11-25 08:36:08.863654 | crc | skipping: Conditional result was False 2025-11-25 08:36:08.875995 | 2025-11-25 08:36:08.876086 | TASK [deploy-crc-cloud : Wait for cluster become healthy after adding domain] 2025-11-25 08:36:08.913591 | crc | ok 2025-11-25 08:36:08.981400 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/wait_cluster_become_healthy.yaml 2025-11-25 08:36:09.012059 | 2025-11-25 08:36:09.012137 | TASK [deploy-crc-cloud : Check if specified OpenShift components are healthy etcd|openshift-apiserver] 2025-11-25 08:36:09.553405 | crc | True 2025-11-25 08:36:09.554129 | crc | True 2025-11-25 08:36:10.054638 | crc | changed 2025-11-25 08:36:10.073771 | 2025-11-25 08:36:10.073956 | TASK [deploy-crc-cloud : Output success message if components are healthy] 2025-11-25 08:36:10.131551 | crc | ok: OpenShift cluster components have become healthy in approximately 20 * 15 seconds. 2025-11-25 08:36:10.150366 | 2025-11-25 08:36:10.150562 | TASK [deploy-crc-cloud : Fail if any components are still unhealthy] 2025-11-25 08:36:10.189208 | crc | skipping: Conditional result was False 2025-11-25 08:36:10.201799 | 2025-11-25 08:36:10.201891 | TASK [deploy-crc-cloud : Patch ingress config] 2025-11-25 08:36:10.239066 | crc | skipping: Conditional result was False 2025-11-25 08:36:10.251083 | 2025-11-25 08:36:10.251189 | TASK [deploy-crc-cloud : Patch api server] 2025-11-25 08:36:10.288603 | crc | skipping: Conditional result was False 2025-11-25 08:36:10.302030 | 2025-11-25 08:36:10.302175 | TASK [deploy-crc-cloud : Patch default route] 2025-11-25 08:36:10.338808 | crc | skipping: Conditional result was False 2025-11-25 08:36:10.354437 | 2025-11-25 08:36:10.354580 | TASK [deploy-crc-cloud : Wait for cluster become healthy after changing ingress api server and default route] 2025-11-25 08:36:10.395147 | crc | ok 2025-11-25 08:36:10.409261 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/wait_cluster_become_healthy.yaml 2025-11-25 08:36:10.453491 | 2025-11-25 08:36:10.453771 | TASK [deploy-crc-cloud : Check if specified OpenShift components are healthy authentication|console|etcd|ingress|openshift-apiserver] 2025-11-25 08:36:10.891143 | crc | False 2025-11-25 08:36:10.892130 | crc | True 2025-11-25 08:36:10.892174 | crc | True 2025-11-25 08:36:10.892183 | crc | True 2025-11-25 08:36:10.892189 | crc | True 2025-11-25 08:36:26.330284 | crc | changed 2025-11-25 08:36:26.345797 | 2025-11-25 08:36:26.345936 | TASK [deploy-crc-cloud : Output success message if components are healthy] 2025-11-25 08:36:26.461624 | crc | ok: OpenShift cluster components have become healthy in approximately 20 * 15 seconds. 2025-11-25 08:36:26.468746 | 2025-11-25 08:36:26.468810 | TASK [deploy-crc-cloud : Fail if any components are still unhealthy] 2025-11-25 08:36:26.503990 | crc | skipping: Conditional result was False 2025-11-25 08:36:26.515937 | 2025-11-25 08:36:26.516012 | TASK [deploy-crc-cloud : Get console route] 2025-11-25 08:36:26.551822 | crc | skipping: Conditional result was False 2025-11-25 08:36:26.578055 | 2025-11-25 08:36:26.578142 | TASK [Start crc-cloud role when Zuul is not defined] 2025-11-25 08:36:26.625622 | crc | skipping: Conditional result was False 2025-11-25 08:36:26.638629 | 2025-11-25 08:36:26.638754 | TASK [prepare-crc-cloud : Recreate kubelet config.json] 2025-11-25 08:36:26.685632 | crc | ok 2025-11-25 08:36:26.715789 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/inject-pull-secret.yaml 2025-11-25 08:36:26.754709 | 2025-11-25 08:36:26.754838 | TASK [prepare-crc-cloud : Fail when openshift_pull_sec not provided] 2025-11-25 08:36:26.824463 | crc | skipping: Conditional result was False 2025-11-25 08:36:26.845650 | 2025-11-25 08:36:26.845849 | TASK [prepare-crc-cloud : Cleanup file] 2025-11-25 08:36:27.407371 | crc | Output suppressed because no_log was given 2025-11-25 08:36:27.418148 | 2025-11-25 08:36:27.418299 | TASK [prepare-crc-cloud : Copy pull-secret to kubelet config.json] 2025-11-25 08:36:27.807439 | crc | Output suppressed because no_log was given 2025-11-25 08:36:27.814460 | 2025-11-25 08:36:27.814538 | TASK [prepare-crc-cloud : Replace singleqoute with doublequote] 2025-11-25 08:36:28.298766 | crc | changed: 42 replacements made 2025-11-25 08:36:28.316037 | 2025-11-25 08:36:28.316187 | TASK [prepare-crc-cloud : Remove spaces] 2025-11-25 08:36:28.682974 | crc | changed: 20 replacements made 2025-11-25 08:36:28.695116 | 2025-11-25 08:36:28.695262 | TASK [prepare-crc-cloud : Ensure you are logged in to the OpenShift] 2025-11-25 08:36:28.741803 | crc | ok 2025-11-25 08:36:28.757378 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/openshift_login.yaml 2025-11-25 08:36:28.791542 | 2025-11-25 08:36:28.791777 | TASK [prepare-crc-cloud : Login to the OpenShift] 2025-11-25 08:36:29.229020 | crc | WARNING: Using insecure TLS client config. Setting this option is not supported! 2025-11-25 08:36:29.341309 | crc | 2025-11-25 08:36:29.341386 | crc | Login successful. 2025-11-25 08:36:29.364422 | crc | 2025-11-25 08:36:29.364502 | crc | You have access to 65 projects, the list has been suppressed. You can list all projects with 'oc projects' 2025-11-25 08:36:29.379364 | crc | 2025-11-25 08:36:29.379419 | crc | Using project "default". 2025-11-25 08:36:29.836513 | crc | ok 2025-11-25 08:36:29.853620 | 2025-11-25 08:36:29.853825 | TASK [prepare-crc-cloud : Post tasks after crc-cloud script execution] 2025-11-25 08:36:29.899431 | crc | ok 2025-11-25 08:36:29.921331 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/post.yaml 2025-11-25 08:36:29.956123 | 2025-11-25 08:36:29.956279 | LOOP [prepare-crc-cloud : Set DNS nameservers provided by cloud provider] 2025-11-25 08:36:30.328989 | crc | changed: line added 2025-11-25 08:36:30.329464 | crc | changed: All items complete 2025-11-25 08:36:30.329524 | 2025-11-25 08:36:30.613870 | crc | changed: line added 2025-11-25 08:36:30.635869 | 2025-11-25 08:36:30.636115 | TASK [prepare-crc-cloud : Increase dnsmasq cache size] 2025-11-25 08:36:31.010193 | crc | changed: line added 2025-11-25 08:36:31.098848 | 2025-11-25 08:36:31.099018 | TASK [prepare-crc-cloud : Reload NetworkManager after adding cache and DNS server] 2025-11-25 08:36:31.974389 | crc | changed 2025-11-25 08:36:31.998342 | 2025-11-25 08:36:31.998567 | TASK [prepare-crc-cloud : Ensure kube config does not exists] 2025-11-25 08:36:32.319002 | crc | ok 2025-11-25 08:36:32.336943 | 2025-11-25 08:36:32.337128 | TASK [prepare-crc-cloud : Copy new generated KUBECONFIG] 2025-11-25 08:36:32.368117 | crc | skipping: Conditional result was False 2025-11-25 08:36:32.384061 | 2025-11-25 08:36:32.384206 | TASK [prepare-crc-cloud : Delete all openshift-marketplace pods] 2025-11-25 08:36:32.879682 | crc | pod "certified-operators-n7flw" deleted 2025-11-25 08:36:32.886103 | crc | pod "community-operators-99696" deleted 2025-11-25 08:36:32.907171 | crc | pod "marketplace-operator-79b997595-nc5jc" deleted 2025-11-25 08:36:32.919953 | crc | pod "redhat-marketplace-qvbl5" deleted 2025-11-25 08:36:32.931345 | crc | pod "redhat-operators-s6s9l" deleted 2025-11-25 08:36:34.947539 | crc | ok 2025-11-25 08:36:34.967067 | 2025-11-25 08:36:34.967259 | TASK [prepare-crc-cloud : Pause machineconfigpool] 2025-11-25 08:36:35.018541 | crc | ok 2025-11-25 08:36:35.037436 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/pause_mcp.yaml 2025-11-25 08:36:35.073140 | 2025-11-25 08:36:35.073261 | LOOP [prepare-crc-cloud : Pause the machineconfig configuration if mcp is not needed] 2025-11-25 08:36:35.651881 | crc | ok 2025-11-25 08:36:36.115430 | crc | ok 2025-11-25 08:36:36.142595 | 2025-11-25 08:36:36.142902 | TASK [prepare-crc-cloud : Print current machineconfigpool] 2025-11-25 08:36:36.606036 | crc | NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE 2025-11-25 08:36:36.606116 | crc | master rendered-master-f83a149c7490c3b0bf850df839837383 False True True 1 0 0 1 275d 2025-11-25 08:36:36.606131 | crc | worker rendered-worker-594cc07c9feefb5e37f2530ac457d36c True False False 0 0 0 0 275d 2025-11-25 08:36:36.721454 | crc | ok 2025-11-25 08:36:36.739785 | 2025-11-25 08:36:36.739932 | TASK [prepare-crc-cloud : Set low profile to etcd to avoid flakiness] 2025-11-25 08:36:36.768583 | crc | skipping: Conditional result was False 2025-11-25 08:36:36.788363 | 2025-11-25 08:36:36.788596 | TASK [prepare-crc-cloud : Fix machineconfigpool degradation] 2025-11-25 08:36:36.816233 | crc | skipping: Conditional result was False 2025-11-25 08:36:36.838888 | 2025-11-25 08:36:36.839101 | TASK [prepare-crc-cloud : Remove drain machineconfig for the node] 2025-11-25 08:36:36.867175 | crc | skipping: Conditional result was False 2025-11-25 08:36:36.886673 | 2025-11-25 08:36:36.886905 | TASK [prepare-crc-cloud : Post machineconfigpool tasks] 2025-11-25 08:36:36.925229 | crc | skipping: Conditional result was False 2025-11-25 08:36:36.949008 | 2025-11-25 08:36:36.949211 | TASK [prepare-crc-cloud : Enable monitoring and cluster-monitoring-operator] 2025-11-25 08:36:36.977871 | crc | skipping: Conditional result was False 2025-11-25 08:36:36.999984 | 2025-11-25 08:36:37.000176 | TASK [Run crc-extracted preparation] 2025-11-25 08:36:37.036494 | crc | skipping: Conditional result was False 2025-11-25 08:36:37.049716 | 2025-11-25 08:36:37.049837 | TASK [Fail when image build date does not exists] 2025-11-25 08:36:37.075550 | crc | skipping: Conditional result was False 2025-11-25 08:36:37.119310 | 2025-11-25 08:36:37.119474 | PLAY [Set IOPS and Read/Write disk limitation] 2025-11-25 08:36:37.273499 | 2025-11-25 08:36:37.273661 | TASK [Set limit for disk usage - IOPS and Read/Write] 2025-11-25 08:36:37.350548 | controller | ok 2025-11-25 08:36:37.370257 | crc | ok 2025-11-25 08:36:37.413116 | 2025-11-25 08:36:37.413201 | TASK [disk-usage-limitation : Get block device major:minor] 2025-11-25 08:36:37.907004 | controller | 252:0 2025-11-25 08:36:37.802225 | crc | 252:0 2025-11-25 08:36:37.999564 | crc | ok 2025-11-25 08:36:38.014154 | controller | ok 2025-11-25 08:36:38.027530 | 2025-11-25 08:36:38.027811 | LOOP [disk-usage-limitation : Ensure that some cgroup dirs exists] 2025-11-25 08:36:38.351279 | controller | ok: "/sys/fs/cgroup/init.scope" 2025-11-25 08:36:38.351811 | controller | ok: All items complete 2025-11-25 08:36:38.351893 | 2025-11-25 08:36:38.432427 | crc | ok: "/sys/fs/cgroup/init.scope" 2025-11-25 08:36:38.590522 | controller | changed: "/sys/fs/cgroup/machine.slice" 2025-11-25 08:36:38.754193 | crc | ok: "/sys/fs/cgroup/machine.slice" 2025-11-25 08:36:38.843213 | controller | ok: "/sys/fs/cgroup/system.slice" 2025-11-25 08:36:39.052738 | crc | ok: "/sys/fs/cgroup/system.slice" 2025-11-25 08:36:39.080599 | controller | ok: "/sys/fs/cgroup/user.slice" 2025-11-25 08:36:39.355387 | crc | ok: "/sys/fs/cgroup/user.slice" 2025-11-25 08:36:39.381167 | 2025-11-25 08:36:39.381437 | TASK [disk-usage-limitation : Ensure systemd configuration directory] 2025-11-25 08:36:39.680928 | controller | changed 2025-11-25 08:36:39.739351 | crc | ok 2025-11-25 08:36:39.753522 | 2025-11-25 08:36:39.753658 | TASK [disk-usage-limitation : Enable IO limit via override configuration] 2025-11-25 08:36:40.561835 | controller | changed 2025-11-25 08:36:40.710410 | crc | changed 2025-11-25 08:36:40.726553 | 2025-11-25 08:36:40.726733 | TASK [disk-usage-limitation : Flush handlers that will call systemd daemon-reload] 2025-11-25 08:36:40.746395 | 2025-11-25 08:36:40.746474 | TASK [disk-usage-limitation : Flush handlers that will call systemd daemon-reload] 2025-11-25 08:36:40.762213 | 2025-11-25 08:36:40.762297 | TASK [disk-usage-limitation : Reload systemd daemon after enabling IOAccounting] 2025-11-25 08:36:41.796244 | controller | ok 2025-11-25 08:36:42.878179 | crc | ok 2025-11-25 08:36:42.892036 | 2025-11-25 08:36:42.892227 | TASK [disk-usage-limitation : Wait for system.slice cgroup to have io.max file] 2025-11-25 08:36:43.177042 | controller | ok 2025-11-25 08:36:43.237673 | crc | ok 2025-11-25 08:36:43.246923 | 2025-11-25 08:36:43.247010 | LOOP [disk-usage-limitation : Set IOPS limit in the root cgroup] 2025-11-25 08:36:43.562271 | controller | ok 2025-11-25 08:36:43.562604 | controller | ok: All items complete 2025-11-25 08:36:43.562643 | 2025-11-25 08:36:43.629089 | crc | ok 2025-11-25 08:36:43.818096 | controller | ok 2025-11-25 08:36:43.930527 | crc | ok 2025-11-25 08:36:44.061605 | controller | ok 2025-11-25 08:36:44.212163 | crc | ok 2025-11-25 08:36:44.313315 | controller | ok 2025-11-25 08:36:44.459743 | crc | ok 2025-11-25 08:36:44.486155 | 2025-11-25 08:36:44.486335 | TASK [disk-usage-limitation : Verify the IOPS limit] 2025-11-25 08:36:44.830186 | controller | init 2025-11-25 08:36:44.835138 | controller | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 08:36:44.835181 | controller | machine 2025-11-25 08:36:44.835189 | controller | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 08:36:44.835196 | controller | system 2025-11-25 08:36:44.835202 | controller | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 08:36:44.835208 | controller | user 2025-11-25 08:36:44.835221 | controller | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 08:36:44.895523 | crc | init 2025-11-25 08:36:44.896704 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 08:36:44.896932 | crc | machine 2025-11-25 08:36:44.899141 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 08:36:44.899360 | crc | system 2025-11-25 08:36:44.901522 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 08:36:44.901873 | crc | user 2025-11-25 08:36:44.902753 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 08:36:45.083726 | controller | ok 2025-11-25 08:36:45.095518 | crc | ok 2025-11-25 08:36:45.108697 | 2025-11-25 08:36:45.108863 | TASK [disk-usage-limitation : Check if kubepods.slice exists] 2025-11-25 08:36:45.416106 | controller | ok 2025-11-25 08:36:45.433349 | crc | ok 2025-11-25 08:36:45.446179 | 2025-11-25 08:36:45.446373 | TASK [disk-usage-limitation : Set the limit] 2025-11-25 08:36:46.024166 | controller | skipping: Conditional result was False 2025-11-25 08:36:46.043021 | crc | ok 2025-11-25 08:36:46.144410 | 2025-11-25 08:36:46.144585 | TASK [disk-usage-limitation : Verify the IOPS limit - kubepods slice] 2025-11-25 08:36:46.478330 | crc | kubepods 2025-11-25 08:36:46.479789 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 08:36:46.713331 | controller | skipping: Conditional result was False 2025-11-25 08:36:46.734419 | crc | ok 2025-11-25 08:36:46.749520 | 2025-11-25 08:36:46.749667 | TASK [disk-usage-limitation : Print the current io.max value] 2025-11-25 08:36:46.832004 | crc | ok: 2025-11-25 08:36:46.832331 | crc | init 2025-11-25 08:36:46.832370 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 08:36:46.832552 | crc | machine 2025-11-25 08:36:46.832596 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 08:36:46.832624 | crc | system 2025-11-25 08:36:46.832649 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 08:36:46.832674 | crc | user 2025-11-25 08:36:46.832737 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 kubepods 2025-11-25 08:36:46.832765 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 08:36:46.850710 | controller | ok: 2025-11-25 08:36:46.850779 | controller | init 2025-11-25 08:36:46.850812 | controller | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 08:36:46.850839 | controller | machine 2025-11-25 08:36:46.850865 | controller | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 08:36:46.850908 | controller | system 2025-11-25 08:36:46.850932 | controller | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 08:36:46.850956 | controller | user 2025-11-25 08:36:46.850981 | controller | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 08:36:46.924201 | 2025-11-25 08:36:46.924348 | PLAY RECAP 2025-11-25 08:36:46.924406 | controller | ok: 10 changed: 3 unreachable: 0 failed: 0 skipped: 3 rescued: 0 ignored: 0 2025-11-25 08:36:46.924434 | crc | ok: 104 changed: 41 unreachable: 0 failed: 0 skipped: 27 rescued: 0 ignored: 0 2025-11-25 08:36:46.924453 | 2025-11-25 08:36:47.149955 | PRE-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/crc/prepare-crc.yaml@master] 2025-11-25 08:36:47.155355 | PRE-RUN START: [trusted : review.rdoproject.org/config/playbooks/crc/podman.yaml@master] 2025-11-25 08:36:47.789415 | 2025-11-25 08:36:47.789576 | PLAY [all,!compute] 2025-11-25 08:36:47.826081 | 2025-11-25 08:36:47.826231 | TASK [Enable container-tools rhel-modules for c8/crc node] 2025-11-25 08:36:48.390420 | controller | skipping: Conditional result was False 2025-11-25 08:36:48.391514 | crc | skipping: Conditional result was False 2025-11-25 08:36:48.406076 | 2025-11-25 08:36:48.406283 | TASK [Install podman] 2025-11-25 08:36:48.511597 | crc | skipping: Conditional result was False 2025-11-25 08:37:59.933478 | controller | changed 2025-11-25 08:37:59.947645 | 2025-11-25 08:37:59.947820 | TASK [Set var name for quay login zuul secret] 2025-11-25 08:38:00.034557 | controller | skipping: Conditional result was False 2025-11-25 08:38:00.045479 | crc | skipping: Conditional result was False 2025-11-25 08:38:00.053839 | 2025-11-25 08:38:00.053926 | TASK [Print the username] 2025-11-25 08:38:00.509405 | controller | openstack-k8s-operators+cirobot 2025-11-25 08:38:00.640122 | crc | skipping: Conditional result was False 2025-11-25 08:38:00.646370 | controller | ok: Runtime: 0:00:00.005538 2025-11-25 08:38:00.652090 | 2025-11-25 08:38:00.652150 | TASK [Fail when user or password is not set] 2025-11-25 08:38:00.710227 | crc | skipping: Conditional result was False 2025-11-25 08:38:00.731055 | controller | skipping: Conditional result was False 2025-11-25 08:38:00.737541 | 2025-11-25 08:38:00.737612 | TASK [Set vars for quay login] 2025-11-25 08:38:00.801302 | controller | Output suppressed because no_log was given 2025-11-25 08:38:00.806893 | 2025-11-25 08:38:00.806987 | LOOP [Perform container registry login(s) with podman] 2025-11-25 08:38:01.733638 | controller | Output suppressed because no_log was given 2025-11-25 08:38:01.741175 | 2025-11-25 08:38:01.741249 | LOOP [Perform container registry login(s) with buildah] 2025-11-25 08:38:01.821621 | controller | Output suppressed because no_log was given 2025-11-25 08:38:01.822162 | 2025-11-25 08:38:01.841656 | 2025-11-25 08:38:01.841867 | TASK [Set Insecure registry for content provider] 2025-11-25 08:38:01.922945 | crc | skipping: Conditional result was False 2025-11-25 08:38:02.356479 | controller | changed: Block inserted 2025-11-25 08:38:02.435776 | 2025-11-25 08:38:02.435936 | PLAY RECAP 2025-11-25 08:38:02.435990 | controller | ok: 5 changed: 4 unreachable: 0 failed: 0 skipped: 4 rescued: 0 ignored: 0 2025-11-25 08:38:02.436017 | crc | ok: 0 changed: 0 unreachable: 0 failed: 0 skipped: 9 rescued: 0 ignored: 0 2025-11-25 08:38:02.436036 | 2025-11-25 08:38:02.625856 | PRE-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/crc/podman.yaml@master] 2025-11-25 08:38:02.635132 | PRE-RUN START: [trusted : review.rdoproject.org/config/playbooks/data_plane_adoption/dpa_RH_subscription_registry_login.yaml@master] 2025-11-25 08:38:03.287928 | 2025-11-25 08:38:03.288063 | PLAY [rh-subscription] 2025-11-25 08:38:03.288155 | 2025-11-25 08:38:03.288187 | PLAY RECAP 2025-11-25 08:38:03.288215 | 2025-11-25 08:38:03.410983 | PRE-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/data_plane_adoption/dpa_RH_subscription_registry_login.yaml@master] 2025-11-25 08:38:03.414699 | PRE-RUN START: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/multinode-customizations.yml@main] 2025-11-25 08:38:04.160997 | 2025-11-25 08:38:04.161193 | PLAY [Tweak CRC node] 2025-11-25 08:38:04.190785 | 2025-11-25 08:38:04.190943 | TASK [Load network parameters] 2025-11-25 08:38:04.862077 | crc | ok 2025-11-25 08:38:04.880168 | 2025-11-25 08:38:04.880414 | TASK [Check which dnsmasq config we must edit] 2025-11-25 08:38:05.291366 | crc | ok 2025-11-25 08:38:05.306740 | 2025-11-25 08:38:05.306890 | TASK [Ensure crc knows about its second NIC] 2025-11-25 08:38:06.175191 | crc | changed 2025-11-25 08:38:06.185506 | 2025-11-25 08:38:06.185593 | TASK [Ensure crc does not get "public" DNS] 2025-11-25 08:38:06.811029 | crc | changed 2025-11-25 08:38:06.831110 | 2025-11-25 08:38:06.831300 | TASK [Restart NetworkManager] 2025-11-25 08:38:07.859919 | crc | changed 2025-11-25 08:38:07.881438 | 2025-11-25 08:38:07.881579 | LOOP [Configure dns forwarders] 2025-11-25 08:38:08.372072 | crc | ok 2025-11-25 08:38:08.634926 | crc | ok 2025-11-25 08:38:08.663467 | 2025-11-25 08:38:08.663673 | TASK [Configure local DNS for CRC pod] 2025-11-25 08:38:09.161098 | crc | ok 2025-11-25 08:38:09.177958 | 2025-11-25 08:38:09.178156 | TASK [Configure dnsmasq listen-address to listen on both br-ex and ci-private-network] 2025-11-25 08:38:09.610324 | crc | changed: line added 2025-11-25 08:38:09.627430 | 2025-11-25 08:38:09.627603 | TASK [Restart native dnsmasq service] 2025-11-25 08:38:10.191483 | crc | changed 2025-11-25 08:38:10.212775 | 2025-11-25 08:38:10.212919 | TASK [Stop dnsmasq] 2025-11-25 08:38:10.242672 | crc | skipping: Conditional result was False 2025-11-25 08:38:10.263054 | 2025-11-25 08:38:10.263200 | TASK [Make sure that crc-dnsmasq is not running] 2025-11-25 08:38:10.291816 | crc | skipping: Conditional result was False 2025-11-25 08:38:10.310485 | 2025-11-25 08:38:10.310626 | TASK [Start dnsmasq] 2025-11-25 08:38:10.338872 | crc | skipping: Conditional result was False 2025-11-25 08:38:10.358628 | 2025-11-25 08:38:10.358803 | TASK [Wait for CRC to be ready] 2025-11-25 08:38:10.967964 | crc | WARNING: Using insecure TLS client config. Setting this option is not supported! 2025-11-25 08:38:11.087537 | crc | 2025-11-25 08:38:11.087608 | crc | Login successful. 2025-11-25 08:38:11.106943 | crc | 2025-11-25 08:38:11.106980 | crc | You have access to 65 projects, the list has been suppressed. You can list all projects with 'oc projects' 2025-11-25 08:38:11.122233 | crc | 2025-11-25 08:38:11.122274 | crc | Using project "default". 2025-11-25 08:38:11.422391 | crc | changed 2025-11-25 08:38:11.439374 | 2025-11-25 08:38:11.439537 | TASK [Set insecure registry on crc node] 2025-11-25 08:38:11.497418 | crc | ok 2025-11-25 08:38:11.521628 | crc | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/tasks/set_crc_insecure_registry.yml 2025-11-25 08:38:11.538552 | 2025-11-25 08:38:11.538710 | TASK [Patch the image.config.openshift.io resource to include insecure registry] 2025-11-25 08:38:12.050483 | crc | image.config.openshift.io/cluster patched 2025-11-25 08:38:12.140277 | crc | changed 2025-11-25 08:38:12.156157 | 2025-11-25 08:38:12.156343 | TASK [Patch the image.config.openshift.io resource to allow registries] 2025-11-25 08:38:12.707688 | crc | image.config.openshift.io/cluster patched 2025-11-25 08:38:12.759357 | crc | changed 2025-11-25 08:38:12.769547 | 2025-11-25 08:38:12.769663 | TASK [Ensure registries.conf.d exists] 2025-11-25 08:38:13.234244 | crc | ok 2025-11-25 08:38:13.250285 | 2025-11-25 08:38:13.250432 | TASK [Set Insecure registry for content provider] 2025-11-25 08:38:13.705551 | crc | changed: File created 2025-11-25 08:38:13.721999 | 2025-11-25 08:38:13.722136 | TASK [Restart crio] 2025-11-25 08:38:16.572123 | crc | changed 2025-11-25 08:38:16.638234 | 2025-11-25 08:38:16.638393 | PLAY [Tweak Controller] 2025-11-25 08:38:16.675734 | 2025-11-25 08:38:16.675824 | TASK [Install other packages] 2025-11-25 08:38:20.989404 | controller | changed 2025-11-25 08:38:21.001389 | 2025-11-25 08:38:21.001557 | LOOP [Ensure we know compute host keys] 2025-11-25 08:38:21.429634 | controller | changed 2025-11-25 08:38:21.430535 | controller | ok: All items complete 2025-11-25 08:38:21.430622 | 2025-11-25 08:38:21.731016 | controller | changed 2025-11-25 08:38:21.761027 | 2025-11-25 08:38:21.761289 | TASK [Generate an ssh keypair] 2025-11-25 08:38:22.059862 | controller | Generating public/private ecdsa key pair. 2025-11-25 08:38:22.059911 | controller | Your identification has been saved in /home/zuul/.ssh/id_cifw 2025-11-25 08:38:22.059918 | controller | Your public key has been saved in /home/zuul/.ssh/id_cifw.pub 2025-11-25 08:38:22.059925 | controller | The key fingerprint is: 2025-11-25 08:38:22.059931 | controller | SHA256:u9+zMS8tZqzW0yPh1fQe4lAN5wdc5a0Bqv4EttFqRN8 zuul@np0005534592.novalocal 2025-11-25 08:38:22.059938 | controller | The key's randomart image is: 2025-11-25 08:38:22.059944 | controller | +---[ECDSA 256]---+ 2025-11-25 08:38:22.059951 | controller | | .. .+| 2025-11-25 08:38:22.059958 | controller | | . ooo.| 2025-11-25 08:38:22.059965 | controller | | . . *.o| 2025-11-25 08:38:22.059972 | controller | | . + . . =o| 2025-11-25 08:38:22.059978 | controller | | S o E .oo| 2025-11-25 08:38:22.059984 | controller | | + * .....o| 2025-11-25 08:38:22.059990 | controller | | * .+==...| 2025-11-25 08:38:22.059996 | controller | | . +..%=+ .| 2025-11-25 08:38:22.060002 | controller | | .o++oB.. | 2025-11-25 08:38:22.060008 | controller | +----[SHA256]-----+ 2025-11-25 08:38:22.317980 | controller | changed 2025-11-25 08:38:22.333443 | 2025-11-25 08:38:22.333597 | TASK [Get public key] 2025-11-25 08:38:22.653002 | controller | ok 2025-11-25 08:38:22.669254 | 2025-11-25 08:38:22.669391 | TASK [Register pub key as a fact] 2025-11-25 08:38:22.746539 | controller | ok 2025-11-25 08:38:22.753194 | 2025-11-25 08:38:22.753270 | TASK [Load network parameters] 2025-11-25 08:38:23.101617 | controller | ok 2025-11-25 08:38:23.117836 | 2025-11-25 08:38:23.117997 | TASK [Check if cloud-init is overriding NM settings] 2025-11-25 08:38:23.501539 | controller | ok 2025-11-25 08:38:23.518906 | 2025-11-25 08:38:23.519102 | TASK [Remove cloud-init DNS override if present] 2025-11-25 08:38:23.547558 | controller | skipping: Conditional result was False 2025-11-25 08:38:23.557625 | 2025-11-25 08:38:23.557736 | TASK [Reload the NetworkManager to pick the changes] 2025-11-25 08:38:23.583067 | controller | skipping: Conditional result was False 2025-11-25 08:38:23.593226 | 2025-11-25 08:38:23.593341 | TASK [Get the default iface connection] 2025-11-25 08:38:24.066183 | controller | System eth0 2025-11-25 08:38:24.186620 | controller | changed 2025-11-25 08:38:24.201491 | 2025-11-25 08:38:24.201644 | TASK [Prepend CRC DNS server in the controllers default Network Manager connection configuation] 2025-11-25 08:38:24.899781 | controller | Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5) 2025-11-25 08:38:25.257912 | controller | changed 2025-11-25 08:38:25.300632 | 2025-11-25 08:38:25.300823 | PLAY [Ensure persistent SSH access] 2025-11-25 08:38:25.342271 | 2025-11-25 08:38:25.342441 | TASK [Inject key in ansible_user] 2025-11-25 08:38:26.025165 | crc | changed 2025-11-25 08:38:26.049867 | controller | changed 2025-11-25 08:38:26.064530 | 2025-11-25 08:38:26.064727 | TASK [Inject key in root] 2025-11-25 08:38:26.525404 | crc | changed 2025-11-25 08:38:26.662522 | controller | changed 2025-11-25 08:38:26.750613 | 2025-11-25 08:38:26.750782 | PLAY [Add cloud-admin user on Compute] 2025-11-25 08:38:26.751828 | 2025-11-25 08:38:26.751875 | PLAY [Set some fancy hostname] 2025-11-25 08:38:26.768992 | 2025-11-25 08:38:26.769107 | TASK [Inject hostname in configuration file] 2025-11-25 08:38:27.879194 | controller | changed 2025-11-25 08:38:27.922578 | 2025-11-25 08:38:27.922669 | PLAY RECAP 2025-11-25 08:38:27.922771 | controller | ok: 12 changed: 8 unreachable: 0 failed: 0 skipped: 2 rescued: 0 ignored: 0 2025-11-25 08:38:27.922808 | crc | ok: 18 changed: 12 unreachable: 0 failed: 0 skipped: 3 rescued: 0 ignored: 0 2025-11-25 08:38:27.922832 | 2025-11-25 08:38:28.092063 | PRE-RUN END RESULT_NORMAL: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/multinode-customizations.yml@main] 2025-11-25 08:38:28.100805 | PRE-RUN START: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/e2e-prepare.yml@main] 2025-11-25 08:38:28.725872 | 2025-11-25 08:38:28.725997 | PLAY [Run ci/playbooks/e2e-prepare.yml] 2025-11-25 08:38:28.749520 | 2025-11-25 08:38:28.749620 | TASK [Clone repos in the job workspace] 2025-11-25 08:38:28.772251 | controller | ok 2025-11-25 08:38:28.791156 | 2025-11-25 08:38:28.791231 | TASK [prepare-workspace : Start zuul_console daemon.] 2025-11-25 08:38:29.453139 | controller | ok 2025-11-25 08:38:29.469161 | 2025-11-25 08:38:29.469324 | TASK [prepare-workspace : Synchronize src repos to workspace directory.] 2025-11-25 08:38:40.853194 | controller | Output suppressed because no_log was given 2025-11-25 08:38:40.883342 | 2025-11-25 08:38:40.883632 | TASK [Create zuul-output directory] 2025-11-25 08:38:41.444119 | controller | ok 2025-11-25 08:38:41.460364 | 2025-11-25 08:38:41.460653 | TASK [Install required packages] 2025-11-25 08:38:42.582632 | controller | ok: Nothing to do 2025-11-25 08:38:42.597455 | 2025-11-25 08:38:42.597653 | TASK [Output pip related things] 2025-11-25 08:38:43.269200 | controller | pip 21.3.1 from /usr/lib/python3.9/site-packages/pip (python 3.9) 2025-11-25 08:38:43.647791 | controller | changed 2025-11-25 08:38:43.658360 | 2025-11-25 08:38:43.658506 | TASK [Install requirements] 2025-11-25 08:39:54.054449 | controller | changed 2025-11-25 08:39:54.084447 | 2025-11-25 08:39:54.084666 | TASK [Add cronjob to trigger job stats] 2025-11-25 08:39:54.154300 | controller | skipping: Conditional result was False 2025-11-25 08:39:54.169649 | 2025-11-25 08:39:54.169838 | LOOP [Construct project change list] 2025-11-25 08:39:54.259080 | controller | ok: 2025-11-25 08:39:54.259421 | controller | { 2025-11-25 08:39:54.259491 | controller | "branch": "main", 2025-11-25 08:39:54.259543 | controller | "change": "652", 2025-11-25 08:39:54.259590 | controller | "change_message": "Add pprof-bind-address flag support\n\nAdd optional pprof profiling endpoint configuration via --pprof-bind-address flag, matching neutron-operator implementation. Disabled by default (empty string).", 2025-11-25 08:39:54.259646 | controller | "change_url": "https://github.com/openstack-k8s-operators/keystone-operator/pull/652", 2025-11-25 08:39:54.259899 | controller | "commit_id": "99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a", 2025-11-25 08:39:54.259954 | controller | "patchset": "99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a", 2025-11-25 08:39:54.260024 | controller | "project": { 2025-11-25 08:39:54.260064 | controller | "canonical_hostname": "github.com", 2025-11-25 08:39:54.260100 | controller | "canonical_name": "github.com/openstack-k8s-operators/keystone-operator", 2025-11-25 08:39:54.260135 | controller | "name": "openstack-k8s-operators/keystone-operator", 2025-11-25 08:39:54.260169 | controller | "short_name": "keystone-operator", 2025-11-25 08:39:54.260203 | controller | "src_dir": "src/github.com/openstack-k8s-operators/keystone-operator" 2025-11-25 08:39:54.260239 | controller | }, 2025-11-25 08:39:54.260297 | controller | "topic": null 2025-11-25 08:39:54.260333 | controller | } 2025-11-25 08:39:54.366004 | 2025-11-25 08:39:54.366148 | PLAY [Run ci/playbooks/build_runner_image.yml] 2025-11-25 08:39:54.401863 | 2025-11-25 08:39:54.401932 | TASK [Filter out host if needed] 2025-11-25 08:39:54.413376 | controller | skipping: end_host conditional evaluated to False, continuing execution for controller 2025-11-25 08:39:54.419599 | 2025-11-25 08:39:54.419652 | TASK [Filter out host if needed] 2025-11-25 08:39:54.458210 | crc | skipping: end_host conditional evaluated to False, continuing execution for crc 2025-11-25 08:39:54.467547 | 2025-11-25 08:39:54.467712 | TASK [Get git tag for image tagging] 2025-11-25 08:39:55.042446 | controller | skipping: Conditional result was False 2025-11-25 08:39:55.043507 | crc | skipping: Conditional result was False 2025-11-25 08:39:55.057018 | 2025-11-25 08:39:55.057155 | TASK [Set openstack-runner image] 2025-11-25 08:39:55.099495 | controller | skipping: Conditional result was False 2025-11-25 08:39:55.121408 | crc | skipping: Conditional result was False 2025-11-25 08:39:55.137051 | 2025-11-25 08:39:55.137184 | TASK [Build openstack-runner image] 2025-11-25 08:39:55.177306 | controller | skipping: Conditional result was False 2025-11-25 08:39:55.198721 | crc | skipping: Conditional result was False 2025-11-25 08:39:55.207885 | 2025-11-25 08:39:55.207971 | TASK [Push openstack-runner image] 2025-11-25 08:39:55.240848 | controller | skipping: Conditional result was False 2025-11-25 08:39:55.251933 | crc | skipping: Conditional result was False 2025-11-25 08:39:55.263299 | 2025-11-25 08:39:55.263532 | TASK [Make sure ci-framework directory exists] 2025-11-25 08:39:55.303793 | controller | skipping: Conditional result was False 2025-11-25 08:39:55.325132 | crc | skipping: Conditional result was False 2025-11-25 08:39:55.335952 | 2025-11-25 08:39:55.336052 | TASK [Create EDPM ansible var file] 2025-11-25 08:39:55.370974 | controller | skipping: Conditional result was False 2025-11-25 08:39:55.392333 | crc | skipping: Conditional result was False 2025-11-25 08:39:55.455607 | 2025-11-25 08:39:55.455776 | PLAY RECAP 2025-11-25 08:39:55.455823 | controller | ok: 7 changed: 3 unreachable: 0 failed: 0 skipped: 7 rescued: 0 ignored: 0 2025-11-25 08:39:55.455868 | crc | ok: 0 changed: 0 unreachable: 0 failed: 0 skipped: 6 rescued: 0 ignored: 0 2025-11-25 08:39:55.455891 | 2025-11-25 08:39:55.660316 | PRE-RUN END RESULT_NORMAL: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/e2e-prepare.yml@main] 2025-11-25 08:39:55.663913 | PRE-RUN START: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/dump_zuul_data.yml@main] 2025-11-25 08:39:56.328706 | 2025-11-25 08:39:56.328832 | PLAY [Run ci/playbooks/dump_zuul_data.yml] 2025-11-25 08:39:56.352246 | 2025-11-25 08:39:56.352357 | TASK [Create zuul-output directory] 2025-11-25 08:39:56.931544 | controller | changed 2025-11-25 08:39:56.945332 | 2025-11-25 08:39:56.945508 | TASK [Slurp Zuul inventory test] 2025-11-25 08:39:57.373519 | controller -> localhost | ok 2025-11-25 08:39:57.381707 | 2025-11-25 08:39:57.381782 | TASK [Save zuul inventory] 2025-11-25 08:39:58.385857 | controller | changed 2025-11-25 08:39:58.398614 | 2025-11-25 08:39:58.398817 | TASK [Save zuul vars without the change_message] 2025-11-25 08:39:59.224933 | controller | changed 2025-11-25 08:39:59.267339 | 2025-11-25 08:39:59.267426 | PLAY RECAP 2025-11-25 08:39:59.267486 | controller | ok: 4 changed: 3 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2025-11-25 08:39:59.267516 | 2025-11-25 08:39:59.386119 | PRE-RUN END RESULT_NORMAL: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/dump_zuul_data.yml@main] 2025-11-25 08:39:59.394843 | RUN START: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/dump_zuul_data.yml@main] 2025-11-25 08:39:59.983334 | 2025-11-25 08:39:59.983461 | PLAY [Run ci/playbooks/dump_zuul_data.yml] 2025-11-25 08:40:00.006911 | 2025-11-25 08:40:00.007042 | TASK [Create zuul-output directory] 2025-11-25 08:40:00.563066 | controller | ok 2025-11-25 08:40:00.576481 | 2025-11-25 08:40:00.576640 | TASK [Slurp Zuul inventory test] 2025-11-25 08:40:01.031228 | controller -> localhost | ok 2025-11-25 08:40:01.039257 | 2025-11-25 08:40:01.039338 | TASK [Save zuul inventory] 2025-11-25 08:40:01.886537 | controller | ok 2025-11-25 08:40:01.900407 | 2025-11-25 08:40:01.900554 | TASK [Save zuul vars without the change_message] 2025-11-25 08:40:02.614314 | controller | ok 2025-11-25 08:40:02.644949 | 2025-11-25 08:40:02.645035 | PLAY RECAP 2025-11-25 08:40:02.645083 | controller | ok: 4 changed: 0 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2025-11-25 08:40:02.645103 | 2025-11-25 08:40:02.760710 | RUN END RESULT_NORMAL: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/dump_zuul_data.yml@main] 2025-11-25 08:40:02.769311 | RUN START: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/run.yml@main] 2025-11-25 08:40:03.393346 | 2025-11-25 08:40:03.393465 | PLAY [Run ci/playbooks/kuttl/run.yml] 2025-11-25 08:40:03.417064 | 2025-11-25 08:40:03.417149 | TASK [Run kuttl tests playbook] 2025-11-25 08:40:05.242814 | controller | 2025-11-25 08:40:06.225480 | controller | PLAY [Bootstrap playbook] ****************************************************** 2025-11-25 08:40:06.225569 | controller | 2025-11-25 08:40:06.225577 | controller | TASK [Gathering Facts ] ******************************************************** 2025-11-25 08:40:06.225583 | controller | Tuesday 25 November 2025 08:40:05 +0000 (0:00:00.037) 0:00:00.037 ****** 2025-11-25 08:40:06.225589 | controller | Tuesday 25 November 2025 08:40:05 +0000 (0:00:00.035) 0:00:00.035 ****** 2025-11-25 08:40:06.225606 | controller | ok: [localhost] 2025-11-25 08:40:06.259446 | controller | 2025-11-25 08:40:06.259502 | controller | TASK [cifmw_setup : Set custom cifmw PATH reusable fact cifmw_path={{ ansible_user_dir }}/.crc/bin:{{ ansible_user_dir }}/.crc/bin/oc:{{ ansible_user_dir }}/bin:{{ ansible_env.PATH }}, cacheable=True] *** 2025-11-25 08:40:06.259516 | controller | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.983) 0:00:01.021 ****** 2025-11-25 08:40:06.259525 | controller | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.983) 0:00:01.019 ****** 2025-11-25 08:40:06.259539 | controller | ok: [localhost] 2025-11-25 08:40:06.318553 | controller | 2025-11-25 08:40:06.318596 | controller | TASK [cifmw_setup : Get customized parameters ci_framework_params={{ 2025-11-25 08:40:06.318607 | controller | hostvars[inventory_hostname] | 2025-11-25 08:40:06.318620 | controller | dict2items | 2025-11-25 08:40:06.318630 | controller | selectattr("key", "match", 2025-11-25 08:40:06.318672 | controller | "^(cifmw|pre|post)_(?!install_yamls|openshift_token|openshift_login|openshift_kubeconfig).*") | 2025-11-25 08:40:06.318681 | controller | list | items2dict 2025-11-25 08:40:06.318689 | controller | }}] *** 2025-11-25 08:40:06.318697 | controller | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.034) 0:00:01.055 ****** 2025-11-25 08:40:06.318705 | controller | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.034) 0:00:01.053 ****** 2025-11-25 08:40:06.318720 | controller | ok: [localhost] 2025-11-25 08:40:06.671963 | controller | 2025-11-25 08:40:06.672007 | controller | TASK [install_ca : Ensure target directory exists path={{ cifmw_install_ca_trust_dir }}, state=directory, mode=0755] *** 2025-11-25 08:40:06.672016 | controller | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.058) 0:00:01.114 ****** 2025-11-25 08:40:06.672024 | controller | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.058) 0:00:01.112 ****** 2025-11-25 08:40:06.672037 | controller | ok: [localhost] 2025-11-25 08:40:06.700324 | controller | 2025-11-25 08:40:06.700367 | controller | TASK [install_ca : Install internal CA from url url={{ cifmw_install_ca_url }}, dest={{ cifmw_install_ca_trust_dir }}, validate_certs={{ cifmw_install_ca_url_validate_certs | default(omit) }}, mode=0644] *** 2025-11-25 08:40:06.700378 | controller | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.353) 0:00:01.467 ****** 2025-11-25 08:40:06.700387 | controller | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.353) 0:00:01.465 ****** 2025-11-25 08:40:06.700408 | controller | skipping: [localhost] 2025-11-25 08:40:06.726978 | controller | 2025-11-25 08:40:06.727021 | controller | TASK [install_ca : Install custom CA bundle from inline dest={{ cifmw_install_ca_trust_dir }}/cifmw_inline_ca_bundle.crt, content={{ cifmw_install_ca_bundle_inline }}, mode=0644] *** 2025-11-25 08:40:06.727030 | controller | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.028) 0:00:01.495 ****** 2025-11-25 08:40:06.727037 | controller | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.028) 0:00:01.493 ****** 2025-11-25 08:40:06.727048 | controller | skipping: [localhost] 2025-11-25 08:40:06.752692 | controller | 2025-11-25 08:40:06.753029 | controller | TASK [install_ca : Install custom CA bundle from file dest={{ cifmw_install_ca_trust_dir }}/{{ cifmw_install_ca_bundle_src | basename }}, src={{ cifmw_install_ca_bundle_src }}, mode=0644] *** 2025-11-25 08:40:06.753042 | controller | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.026) 0:00:01.522 ****** 2025-11-25 08:40:06.753050 | controller | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.026) 0:00:01.520 ****** 2025-11-25 08:40:06.753075 | controller | skipping: [localhost] 2025-11-25 08:40:08.283973 | controller | 2025-11-25 08:40:08.284068 | controller | TASK [install_ca : Update ca bundle _raw_params=update-ca-trust] *************** 2025-11-25 08:40:08.284082 | controller | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.025) 0:00:01.548 ****** 2025-11-25 08:40:08.284116 | controller | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.025) 0:00:01.546 ****** 2025-11-25 08:40:08.284142 | controller | changed: [localhost] 2025-11-25 08:40:08.833154 | controller | 2025-11-25 08:40:08.833197 | controller | TASK [repo_setup : Ensure directories are present path={{ cifmw_repo_setup_basedir }}/{{ item }}, state=directory, mode=0755] *** 2025-11-25 08:40:08.833209 | controller | Tuesday 25 November 2025 08:40:08 +0000 (0:00:01.531) 0:00:03.079 ****** 2025-11-25 08:40:08.833218 | controller | Tuesday 25 November 2025 08:40:08 +0000 (0:00:01.531) 0:00:03.077 ****** 2025-11-25 08:40:08.833254 | controller | changed: [localhost] => (item=tmp) 2025-11-25 08:40:09.825474 | controller | changed: [localhost] => (item=artifacts/repositories) 2025-11-25 08:40:09.825515 | controller | changed: [localhost] => (item=venv/repo_setup) 2025-11-25 08:40:09.825524 | controller | 2025-11-25 08:40:09.825531 | controller | TASK [repo_setup : Make sure git-core package is installed name=git-core, state=present] *** 2025-11-25 08:40:09.825537 | controller | Tuesday 25 November 2025 08:40:08 +0000 (0:00:00.548) 0:00:03.628 ****** 2025-11-25 08:40:09.825544 | controller | Tuesday 25 November 2025 08:40:08 +0000 (0:00:00.548) 0:00:03.626 ****** 2025-11-25 08:40:09.825555 | controller | ok: [localhost] 2025-11-25 08:40:10.951548 | controller | 2025-11-25 08:40:10.951586 | controller | TASK [repo_setup : Get repo-setup repository accept_hostkey=True, dest={{ cifmw_repo_setup_basedir }}/tmp/repo-setup, repo={{ cifmw_repo_setup_src }}] *** 2025-11-25 08:40:10.951594 | controller | Tuesday 25 November 2025 08:40:09 +0000 (0:00:00.992) 0:00:04.620 ****** 2025-11-25 08:40:10.951601 | controller | Tuesday 25 November 2025 08:40:09 +0000 (0:00:00.992) 0:00:04.618 ****** 2025-11-25 08:40:10.951619 | controller | changed: [localhost] 2025-11-25 08:40:19.582731 | controller | 2025-11-25 08:40:19.582805 | controller | TASK [repo_setup : Initialize python venv and install requirements virtualenv={{ cifmw_repo_setup_venv }}, requirements={{ cifmw_repo_setup_basedir }}/tmp/repo-setup/requirements.txt, virtualenv_command=python3 -m venv --system-site-packages --upgrade-deps] *** 2025-11-25 08:40:19.582818 | controller | Tuesday 25 November 2025 08:40:10 +0000 (0:00:01.126) 0:00:05.747 ****** 2025-11-25 08:40:19.582829 | controller | Tuesday 25 November 2025 08:40:10 +0000 (0:00:01.126) 0:00:05.745 ****** 2025-11-25 08:40:19.582844 | controller | changed: [localhost] 2025-11-25 08:40:20.435508 | controller | 2025-11-25 08:40:20.435545 | controller | TASK [repo_setup : Install repo-setup package chdir={{ cifmw_repo_setup_basedir }}/tmp/repo-setup, creates={{ cifmw_repo_setup_venv }}/bin/repo-setup, _raw_params={{ cifmw_repo_setup_venv }}/bin/python setup.py install] *** 2025-11-25 08:40:20.435556 | controller | Tuesday 25 November 2025 08:40:19 +0000 (0:00:08.631) 0:00:14.378 ****** 2025-11-25 08:40:20.435563 | controller | Tuesday 25 November 2025 08:40:19 +0000 (0:00:08.631) 0:00:14.376 ****** 2025-11-25 08:40:20.435573 | controller | changed: [localhost] 2025-11-25 08:40:20.459722 | controller | 2025-11-25 08:40:20.459751 | controller | TASK [repo_setup : Set cifmw_repo_setup_dlrn_hash_tag from content provider cifmw_repo_setup_dlrn_hash_tag={{ content_provider_dlrn_md5_hash }}] *** 2025-11-25 08:40:20.459759 | controller | Tuesday 25 November 2025 08:40:20 +0000 (0:00:00.852) 0:00:15.231 ****** 2025-11-25 08:40:20.459765 | controller | Tuesday 25 November 2025 08:40:20 +0000 (0:00:00.852) 0:00:15.229 ****** 2025-11-25 08:40:20.459776 | controller | skipping: [localhost] 2025-11-25 08:40:21.082368 | controller | 2025-11-25 08:40:21.082409 | controller | TASK [repo_setup : Run repo-setup _raw_params={{ cifmw_repo_setup_venv }}/bin/repo-setup {{ cifmw_repo_setup_promotion }} {{ cifmw_repo_setup_additional_repos }} -d {{ cifmw_repo_setup_os_release }}{{ cifmw_repo_setup_dist_major_version }} -b {{ cifmw_repo_setup_branch }} --rdo-mirror {{ cifmw_repo_setup_rdo_mirror }} {% if cifmw_repo_setup_dlrn_hash_tag | length > 0 %} --dlrn-hash-tag {{ cifmw_repo_setup_dlrn_hash_tag }} {% endif %} -o {{ cifmw_repo_setup_output }}] *** 2025-11-25 08:40:21.082420 | controller | Tuesday 25 November 2025 08:40:20 +0000 (0:00:00.024) 0:00:15.255 ****** 2025-11-25 08:40:21.082428 | controller | Tuesday 25 November 2025 08:40:20 +0000 (0:00:00.024) 0:00:15.253 ****** 2025-11-25 08:40:21.082448 | controller | changed: [localhost] 2025-11-25 08:40:21.118104 | controller | 2025-11-25 08:40:21.118161 | controller | TASK [repo_setup : Get component repo url={{ cifmw_repo_setup_dlrn_uri }}/{{ cifmw_repo_setup_os_release }}{{ cifmw_repo_setup_dist_major_version }}-{{ cifmw_repo_setup_branch }}/component/{{ cifmw_repo_setup_component_name }}/{{ cifmw_repo_setup_component_promotion_tag }}/delorean.repo, dest={{ cifmw_repo_setup_output }}/{{ cifmw_repo_setup_component_name }}_{{ cifmw_repo_setup_component_promotion_tag }}_delorean.repo, mode=0644] *** 2025-11-25 08:40:21.118171 | controller | Tuesday 25 November 2025 08:40:21 +0000 (0:00:00.622) 0:00:15.878 ****** 2025-11-25 08:40:21.118177 | controller | Tuesday 25 November 2025 08:40:21 +0000 (0:00:00.622) 0:00:15.876 ****** 2025-11-25 08:40:21.118189 | controller | skipping: [localhost] 2025-11-25 08:40:21.152348 | controller | 2025-11-25 08:40:21.152395 | controller | TASK [repo_setup : Rename component repo path={{ cifmw_repo_setup_output }}/{{ cifmw_repo_setup_component_name }}_{{ cifmw_repo_setup_component_promotion_tag }}_delorean.repo, regexp=delorean-component-{{ cifmw_repo_setup_component_name }}, replace={{ cifmw_repo_setup_component_name }}-{{ cifmw_repo_setup_component_promotion_tag }}] *** 2025-11-25 08:40:21.152405 | controller | Tuesday 25 November 2025 08:40:21 +0000 (0:00:00.035) 0:00:15.913 ****** 2025-11-25 08:40:21.152412 | controller | Tuesday 25 November 2025 08:40:21 +0000 (0:00:00.035) 0:00:15.911 ****** 2025-11-25 08:40:21.152423 | controller | skipping: [localhost] 2025-11-25 08:40:21.189681 | controller | 2025-11-25 08:40:21.189738 | controller | TASK [repo_setup : Disable component repo in current-podified dlrn repo path={{ cifmw_repo_setup_output }}/delorean.repo, section=delorean-component-{{ cifmw_repo_setup_component_name }}, option=enabled, value=0, mode=0644] *** 2025-11-25 08:40:21.189747 | controller | Tuesday 25 November 2025 08:40:21 +0000 (0:00:00.034) 0:00:15.948 ****** 2025-11-25 08:40:21.189754 | controller | Tuesday 25 November 2025 08:40:21 +0000 (0:00:00.034) 0:00:15.946 ****** 2025-11-25 08:40:21.189769 | controller | skipping: [localhost] 2025-11-25 08:40:21.681399 | controller | 2025-11-25 08:40:21.681442 | controller | TASK [repo_setup : Run repo-setup-get-hash _raw_params={{ cifmw_repo_setup_venv }}/bin/repo-setup-get-hash --dlrn-url {{ cifmw_repo_setup_dlrn_uri[:-1] }} --os-version {{ cifmw_repo_setup_os_release }}{{ cifmw_repo_setup_dist_major_version }} --release {{ cifmw_repo_setup_branch }} {% if cifmw_repo_setup_component_name | length > 0 -%} --component {{ cifmw_repo_setup_component_name }} --tag {{ cifmw_repo_setup_component_promotion_tag }} {% else -%} --tag {{cifmw_repo_setup_promotion }} {% endif -%} {% if (cifmw_repo_setup_dlrn_hash_tag | length > 0) and (cifmw_repo_setup_component_name | length <= 0) -%} --dlrn-hash-tag {{ cifmw_repo_setup_dlrn_hash_tag }} {% endif -%} --json] *** 2025-11-25 08:40:21.681452 | controller | Tuesday 25 November 2025 08:40:21 +0000 (0:00:00.037) 0:00:15.985 ****** 2025-11-25 08:40:21.681458 | controller | Tuesday 25 November 2025 08:40:21 +0000 (0:00:00.037) 0:00:15.983 ****** 2025-11-25 08:40:21.681473 | controller | changed: [localhost] 2025-11-25 08:40:22.363844 | controller | 2025-11-25 08:40:22.363898 | controller | TASK [repo_setup : Dump full hash in delorean.repo.md5 file content={{ _repo_setup_json['full_hash'] }} 2025-11-25 08:40:22.363907 | controller | , dest={{ cifmw_repo_setup_basedir }}/artifacts/repositories/delorean.repo.md5, mode=0644] *** 2025-11-25 08:40:22.363923 | controller | Tuesday 25 November 2025 08:40:21 +0000 (0:00:00.491) 0:00:16.477 ****** 2025-11-25 08:40:22.363930 | controller | Tuesday 25 November 2025 08:40:21 +0000 (0:00:00.491) 0:00:16.475 ****** 2025-11-25 08:40:22.363944 | controller | changed: [localhost] 2025-11-25 08:40:22.388000 | controller | 2025-11-25 08:40:22.388064 | controller | TASK [repo_setup : Dump current-podified hash url={{ cifmw_repo_setup_dlrn_uri }}/{{ cifmw_repo_setup_os_release }}{{ cifmw_repo_setup_dist_major_version }}-{{ cifmw_repo_setup_branch }}/current-podified/delorean.repo.md5, dest={{ cifmw_repo_setup_basedir }}/artifacts/repositories/delorean.repo.md5, mode=0644] *** 2025-11-25 08:40:22.388074 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.682) 0:00:17.159 ****** 2025-11-25 08:40:22.388093 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.682) 0:00:17.157 ****** 2025-11-25 08:40:22.388125 | controller | skipping: [localhost] 2025-11-25 08:40:22.413946 | controller | 2025-11-25 08:40:22.414010 | controller | TASK [repo_setup : Slurp current podified hash src={{ cifmw_repo_setup_basedir }}/artifacts/repositories/delorean.repo.md5] *** 2025-11-25 08:40:22.414018 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.024) 0:00:17.183 ****** 2025-11-25 08:40:22.414025 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.024) 0:00:17.181 ****** 2025-11-25 08:40:22.414041 | controller | skipping: [localhost] 2025-11-25 08:40:22.439586 | controller | 2025-11-25 08:40:22.439645 | controller | TASK [repo_setup : Update the value of full_hash _repo_setup_json={{ _repo_setup_json | combine({'full_hash': _hash}, recursive=true) }}] *** 2025-11-25 08:40:22.439655 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.026) 0:00:17.209 ****** 2025-11-25 08:40:22.439661 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.026) 0:00:17.207 ****** 2025-11-25 08:40:22.439676 | controller | skipping: [localhost] 2025-11-25 08:40:22.471945 | controller | 2025-11-25 08:40:22.471991 | controller | TASK [repo_setup : Export hashes facts for further use cifmw_repo_setup_full_hash={{ _repo_setup_json['full_hash'] }}, cifmw_repo_setup_commit_hash={{ _repo_setup_json['commit_hash'] }}, cifmw_repo_setup_distro_hash={{ _repo_setup_json['distro_hash'] }}, cifmw_repo_setup_extended_hash={{ _repo_setup_json['extended_hash'] }}, cifmw_repo_setup_dlrn_api_url={{ _repo_setup_json['dlrn_api_url'] }}, cifmw_repo_setup_dlrn_url={{ _repo_setup_json['dlrn_url'] }}, cifmw_repo_setup_release={{ _repo_setup_json['release'] }}, cacheable=True] *** 2025-11-25 08:40:22.472001 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.025) 0:00:17.235 ****** 2025-11-25 08:40:22.472008 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.025) 0:00:17.233 ****** 2025-11-25 08:40:22.472020 | controller | ok: [localhost] 2025-11-25 08:40:22.493645 | controller | 2025-11-25 08:40:22.493714 | controller | TASK [repo_setup : Create download directory path={{ cifmw_repo_setup_rhos_release_path }}, state=directory, mode=0755] *** 2025-11-25 08:40:22.493735 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.032) 0:00:17.267 ****** 2025-11-25 08:40:22.493745 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.032) 0:00:17.265 ****** 2025-11-25 08:40:22.493764 | controller | skipping: [localhost] 2025-11-25 08:40:22.514377 | controller | 2025-11-25 08:40:22.514433 | controller | TASK [repo_setup : Print the URL to request msg={{ cifmw_repo_setup_rhos_release_rpm }}] *** 2025-11-25 08:40:22.514442 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.021) 0:00:17.289 ****** 2025-11-25 08:40:22.514448 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.021) 0:00:17.287 ****** 2025-11-25 08:40:22.514462 | controller | skipping: [localhost] 2025-11-25 08:40:22.537347 | controller | 2025-11-25 08:40:22.537386 | controller | TASK [Download the RPM name=krb_request] *************************************** 2025-11-25 08:40:22.537394 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.020) 0:00:17.310 ****** 2025-11-25 08:40:22.537513 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.020) 0:00:17.308 ****** 2025-11-25 08:40:22.537527 | controller | skipping: [localhost] 2025-11-25 08:40:22.559064 | controller | 2025-11-25 08:40:22.559131 | controller | TASK [repo_setup : Install RHOS Release tool name={{ 2025-11-25 08:40:22.559145 | controller | cifmw_repo_setup_rhos_release_rpm 2025-11-25 08:40:22.559154 | controller | if cifmw_repo_setup_rhos_release_rpm is not url 2025-11-25 08:40:22.559162 | controller | else cifmw_krb_request_out.path 2025-11-25 08:40:22.559169 | controller | }}, state=present, disable_gpg_check={{ cifmw_repo_setup_rhos_release_gpg_check | bool }}] *** 2025-11-25 08:40:22.559177 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.022) 0:00:17.332 ****** 2025-11-25 08:40:22.559186 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.022) 0:00:17.331 ****** 2025-11-25 08:40:22.559200 | controller | skipping: [localhost] 2025-11-25 08:40:22.578627 | controller | 2025-11-25 08:40:22.578664 | controller | TASK [repo_setup : Get rhos-release tool version _raw_params=rhos-release --version] *** 2025-11-25 08:40:22.578680 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.021) 0:00:17.354 ****** 2025-11-25 08:40:22.578687 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.021) 0:00:17.352 ****** 2025-11-25 08:40:22.578699 | controller | skipping: [localhost] 2025-11-25 08:40:22.599804 | controller | 2025-11-25 08:40:22.599844 | controller | TASK [repo_setup : Print rhos-release tool version msg={{ rr_version.stdout }}] *** 2025-11-25 08:40:22.599851 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.019) 0:00:17.374 ****** 2025-11-25 08:40:22.599858 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.019) 0:00:17.372 ****** 2025-11-25 08:40:22.599877 | controller | skipping: [localhost] 2025-11-25 08:40:22.620628 | controller | 2025-11-25 08:40:22.620664 | controller | TASK [repo_setup : Generate repos using rhos-release {{ cifmw_repo_setup_rhos_release_args }} _raw_params=rhos-release {{ cifmw_repo_setup_rhos_release_args }} \ 2025-11-25 08:40:22.620672 | controller | -t {{ cifmw_repo_setup_output }}] *** 2025-11-25 08:40:22.620679 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.021) 0:00:17.395 ****** 2025-11-25 08:40:22.620686 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.021) 0:00:17.393 ****** 2025-11-25 08:40:22.620696 | controller | skipping: [localhost] 2025-11-25 08:40:22.829448 | controller | 2025-11-25 08:40:22.829483 | controller | TASK [repo_setup : Check for /etc/ci/mirror_info.sh path=/etc/ci/mirror_info.sh] *** 2025-11-25 08:40:22.829491 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.020) 0:00:17.416 ****** 2025-11-25 08:40:22.829497 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.020) 0:00:17.414 ****** 2025-11-25 08:40:22.829508 | controller | ok: [localhost] 2025-11-25 08:40:23.067536 | controller | 2025-11-25 08:40:23.067577 | controller | TASK [repo_setup : Use RDO proxy mirrors chdir={{ cifmw_repo_setup_output }}, _raw_params=set -o pipefail 2025-11-25 08:40:23.067585 | controller | source /etc/ci/mirror_info.sh 2025-11-25 08:40:23.067591 | controller | sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" *.repo 2025-11-25 08:40:23.067598 | controller | ] *** 2025-11-25 08:40:23.067604 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.208) 0:00:17.625 ****** 2025-11-25 08:40:23.067610 | controller | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.208) 0:00:17.623 ****** 2025-11-25 08:40:23.067621 | controller | changed: [localhost] 2025-11-25 08:40:23.293761 | controller | 2025-11-25 08:40:23.293805 | controller | TASK [repo_setup : Use RDO CentOS mirrors (remove CentOS 10 conditional when Nodepool mirrors exist) chdir={{ cifmw_repo_setup_output }}, _raw_params=set -o pipefail 2025-11-25 08:40:23.293816 | controller | source /etc/ci/mirror_info.sh 2025-11-25 08:40:23.293825 | controller | sed -i -e "s|http://mirror.stream.centos.org|$NODEPOOL_CENTOS_MIRROR|g" *.repo 2025-11-25 08:40:23.293833 | controller | ] *** 2025-11-25 08:40:23.293841 | controller | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.238) 0:00:17.863 ****** 2025-11-25 08:40:23.293849 | controller | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.238) 0:00:17.861 ****** 2025-11-25 08:40:23.293863 | controller | changed: [localhost] 2025-11-25 08:40:23.782555 | controller | 2025-11-25 08:40:23.782604 | controller | TASK [repo_setup : Check for gating.repo file on content provider url=http://{{ content_provider_registry_ip }}:8766/gating.repo] *** 2025-11-25 08:40:23.782620 | controller | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.225) 0:00:18.089 ****** 2025-11-25 08:40:23.782629 | controller | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.226) 0:00:18.087 ****** 2025-11-25 08:40:23.782643 | controller | task path: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/repo_setup/tasks/populate_gating_repo.yml:2 2025-11-25 08:40:23.814014 | controller | fatal: [localhost]: FAILED! => 2025-11-25 08:40:23.814050 | controller | changed: false 2025-11-25 08:40:23.814057 | controller | elapsed: 0 2025-11-25 08:40:23.814064 | controller | msg: 'Status code was -1 and not [200]: Request failed: ' 2025-11-25 08:40:23.814077 | controller | redirected: false 2025-11-25 08:40:23.814083 | controller | status: -1 2025-11-25 08:40:23.814089 | controller | url: http://38.129.56.231:8766/gating.repo 2025-11-25 08:40:23.814100 | controller | ...ignoring 2025-11-25 08:40:23.814129 | controller | 2025-11-25 08:40:23.814138 | controller | TASK [repo_setup : Populate gating repo from content provider ip content=[gating-repo] 2025-11-25 08:40:23.814144 | controller | baseurl=http://{{ content_provider_registry_ip }}:8766/ 2025-11-25 08:40:23.814151 | controller | enabled=1 2025-11-25 08:40:23.814157 | controller | gpgcheck=0 2025-11-25 08:40:23.814163 | controller | priority=1 2025-11-25 08:40:23.814168 | controller | , dest={{ cifmw_repo_setup_output }}/gating.repo, mode=0644] *** 2025-11-25 08:40:23.814175 | controller | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.489) 0:00:18.578 ****** 2025-11-25 08:40:23.814181 | controller | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.488) 0:00:18.576 ****** 2025-11-25 08:40:23.814193 | controller | skipping: [localhost] 2025-11-25 08:40:23.845471 | controller | 2025-11-25 08:40:23.845530 | controller | TASK [repo_setup : Check for DLRN repo at the destination path={{ cifmw_repo_setup_output }}/delorean.repo] *** 2025-11-25 08:40:23.845538 | controller | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.031) 0:00:18.609 ****** 2025-11-25 08:40:23.845545 | controller | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.031) 0:00:18.607 ****** 2025-11-25 08:40:23.845565 | controller | skipping: [localhost] 2025-11-25 08:40:23.875777 | controller | 2025-11-25 08:40:23.875814 | controller | TASK [repo_setup : Lower the priority of DLRN repos to allow installation from gating repo path={{ cifmw_repo_setup_output }}/delorean.repo, regexp=priority=1, replace=priority=20] *** 2025-11-25 08:40:23.875822 | controller | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.031) 0:00:18.641 ****** 2025-11-25 08:40:23.875829 | controller | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.031) 0:00:18.639 ****** 2025-11-25 08:40:23.875841 | controller | skipping: [localhost] 2025-11-25 08:40:23.905722 | controller | 2025-11-25 08:40:23.905754 | controller | TASK [repo_setup : Check for DLRN component repo path={{ cifmw_repo_setup_output }}/{{ _comp_repo }}] *** 2025-11-25 08:40:23.905762 | controller | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.030) 0:00:18.671 ****** 2025-11-25 08:40:23.905769 | controller | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.030) 0:00:18.669 ****** 2025-11-25 08:40:23.905780 | controller | skipping: [localhost] 2025-11-25 08:40:23.936768 | controller | 2025-11-25 08:40:23.936802 | controller | TASK [repo_setup : Lower the priority of componennt repos to allow installation from gating repo path={{ cifmw_repo_setup_output }}//{{ _comp_repo }}, regexp=priority=1, replace=priority=2] *** 2025-11-25 08:40:23.936810 | controller | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.029) 0:00:18.701 ****** 2025-11-25 08:40:23.936817 | controller | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.029) 0:00:18.699 ****** 2025-11-25 08:40:23.936827 | controller | skipping: [localhost] 2025-11-25 08:40:24.204662 | controller | 2025-11-25 08:40:24.204703 | controller | TASK [repo_setup : Find existing repos from /etc/yum.repos.d directory paths=/etc/yum.repos.d/, patterns=*.repo, recurse=False] *** 2025-11-25 08:40:24.204713 | controller | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.031) 0:00:18.732 ****** 2025-11-25 08:40:24.204721 | controller | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.031) 0:00:18.730 ****** 2025-11-25 08:40:24.204736 | controller | ok: [localhost] 2025-11-25 08:40:24.629229 | controller | 2025-11-25 08:40:24.629265 | controller | TASK [repo_setup : Remove existing repos from /etc/yum.repos.d directory path={{ item }}, state=absent] *** 2025-11-25 08:40:24.629273 | controller | Tuesday 25 November 2025 08:40:24 +0000 (0:00:00.267) 0:00:19.000 ****** 2025-11-25 08:40:24.629280 | controller | Tuesday 25 November 2025 08:40:24 +0000 (0:00:00.267) 0:00:18.998 ****** 2025-11-25 08:40:24.629293 | controller | changed: [localhost] => (item=/etc/yum.repos.d/centos-addons.repo) 2025-11-25 08:40:25.078558 | controller | changed: [localhost] => (item=/etc/yum.repos.d/centos.repo) 2025-11-25 08:40:25.078592 | controller | 2025-11-25 08:40:25.078600 | controller | TASK [repo_setup : Cleanup existing metadata _raw_params=dnf clean metadata] *** 2025-11-25 08:40:25.078607 | controller | Tuesday 25 November 2025 08:40:24 +0000 (0:00:00.424) 0:00:19.425 ****** 2025-11-25 08:40:25.078613 | controller | Tuesday 25 November 2025 08:40:24 +0000 (0:00:00.424) 0:00:19.423 ****** 2025-11-25 08:40:25.078624 | controller | changed: [localhost] 2025-11-25 08:40:25.379892 | controller | 2025-11-25 08:40:25.379946 | controller | TASK [repo_setup : Copy generated repos to /etc/yum.repos.d directory mode=0755, remote_src=True, src={{ cifmw_repo_setup_output }}/, dest=/etc/yum.repos.d] *** 2025-11-25 08:40:25.379957 | controller | Tuesday 25 November 2025 08:40:25 +0000 (0:00:00.449) 0:00:19.874 ****** 2025-11-25 08:40:25.379973 | controller | Tuesday 25 November 2025 08:40:25 +0000 (0:00:00.449) 0:00:19.872 ****** 2025-11-25 08:40:25.379988 | controller | changed: [localhost] 2025-11-25 08:40:25.429236 | controller | 2025-11-25 08:40:25.429273 | controller | TASK [ci_setup : Gather variables for each operating system _raw_params={{ item }}] *** 2025-11-25 08:40:25.429281 | controller | Tuesday 25 November 2025 08:40:25 +0000 (0:00:00.301) 0:00:20.175 ****** 2025-11-25 08:40:25.429288 | controller | Tuesday 25 November 2025 08:40:25 +0000 (0:00:00.301) 0:00:20.173 ****** 2025-11-25 08:40:25.429301 | controller | ok: [localhost] => (item=/home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_setup/vars/redhat.yml) 2025-11-25 08:40:25.453296 | controller | 2025-11-25 08:40:25.453339 | controller | TASK [ci_setup : List packages to install var=cifmw_ci_setup_packages] ********* 2025-11-25 08:40:25.453349 | controller | Tuesday 25 November 2025 08:40:25 +0000 (0:00:00.048) 0:00:20.224 ****** 2025-11-25 08:40:25.453356 | controller | Tuesday 25 November 2025 08:40:25 +0000 (0:00:00.048) 0:00:20.222 ****** 2025-11-25 08:40:25.453371 | controller | ok: [localhost] => 2025-11-25 08:40:55.243909 | controller | cifmw_ci_setup_packages: 2025-11-25 08:40:55.243950 | controller | - bash-completion 2025-11-25 08:40:55.243958 | controller | - ca-certificates 2025-11-25 08:40:55.243964 | controller | - git-core 2025-11-25 08:40:55.243970 | controller | - make 2025-11-25 08:40:55.243976 | controller | - tar 2025-11-25 08:40:55.243982 | controller | - tmux 2025-11-25 08:40:55.243988 | controller | - python3-pip 2025-11-25 08:40:55.243994 | controller | 2025-11-25 08:40:55.244001 | controller | TASK [ci_setup : Install needed packages name={{ cifmw_ci_setup_packages }}, state=latest] *** 2025-11-25 08:40:55.244007 | controller | Tuesday 25 November 2025 08:40:25 +0000 (0:00:00.024) 0:00:20.248 ****** 2025-11-25 08:40:55.244014 | controller | Tuesday 25 November 2025 08:40:25 +0000 (0:00:00.024) 0:00:20.246 ****** 2025-11-25 08:40:55.244026 | controller | changed: [localhost] 2025-11-25 08:40:55.463056 | controller | 2025-11-25 08:40:55.463171 | controller | TASK [ci_setup : Gather version of openshift client _raw_params=oc version --client -o yaml] *** 2025-11-25 08:40:55.463182 | controller | Tuesday 25 November 2025 08:40:55 +0000 (0:00:29.790) 0:00:50.039 ****** 2025-11-25 08:40:55.463189 | controller | Tuesday 25 November 2025 08:40:55 +0000 (0:00:29.790) 0:00:50.037 ****** 2025-11-25 08:40:55.463206 | controller | ok: [localhost] 2025-11-25 08:40:55.685426 | controller | 2025-11-25 08:40:55.685484 | controller | TASK [ci_setup : Ensure openshift client install path is present path={{ cifmw_ci_setup_oc_install_path }}, state=directory, mode=0755] *** 2025-11-25 08:40:55.685492 | controller | Tuesday 25 November 2025 08:40:55 +0000 (0:00:00.219) 0:00:50.258 ****** 2025-11-25 08:40:55.685499 | controller | Tuesday 25 November 2025 08:40:55 +0000 (0:00:00.219) 0:00:50.256 ****** 2025-11-25 08:40:55.685513 | controller | changed: [localhost] 2025-11-25 08:41:01.071007 | controller | 2025-11-25 08:41:01.071153 | controller | TASK [ci_setup : Install openshift client src={{ cifmw_ci_setup_openshift_client_download_uri }}/{{ cifmw_ci_setup_openshift_client_version }}/openshift-client-linux.tar.gz, dest={{ cifmw_ci_setup_oc_install_path }}, remote_src=True, mode=0755, creates={{ cifmw_ci_setup_oc_install_path }}/oc] *** 2025-11-25 08:41:01.071179 | controller | Tuesday 25 November 2025 08:40:55 +0000 (0:00:00.222) 0:00:50.481 ****** 2025-11-25 08:41:01.071192 | controller | Tuesday 25 November 2025 08:40:55 +0000 (0:00:00.222) 0:00:50.479 ****** 2025-11-25 08:41:01.071216 | controller | changed: [localhost] 2025-11-25 08:41:01.107178 | controller | 2025-11-25 08:41:01.107241 | controller | TASK [ci_setup : Add the OC path to cifmw_path if needed cifmw_path={{ cifmw_ci_setup_oc_install_path }}:{{ ansible_env.PATH }}, cacheable=True] *** 2025-11-25 08:41:01.107249 | controller | Tuesday 25 November 2025 08:41:01 +0000 (0:00:05.384) 0:00:55.865 ****** 2025-11-25 08:41:01.107256 | controller | Tuesday 25 November 2025 08:41:01 +0000 (0:00:05.384) 0:00:55.864 ****** 2025-11-25 08:41:01.107285 | controller | skipping: [localhost] 2025-11-25 08:41:01.403522 | controller | 2025-11-25 08:41:01.403609 | controller | TASK [ci_setup : Create completion file] *************************************** 2025-11-25 08:41:01.403617 | controller | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.036) 0:00:55.902 ****** 2025-11-25 08:41:01.403624 | controller | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.036) 0:00:55.900 ****** 2025-11-25 08:41:01.403636 | controller | changed: [localhost] 2025-11-25 08:41:01.682282 | controller | 2025-11-25 08:41:01.682347 | controller | TASK [ci_setup : Source completion from within .bashrc create=True, mode=0644, path={{ ansible_user_dir }}/.bashrc, block=if [ -f ~/.oc_completion ]; then 2025-11-25 08:41:01.682355 | controller | source ~/.oc_completion 2025-11-25 08:41:01.682363 | controller | fi] *** 2025-11-25 08:41:01.682370 | controller | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.296) 0:00:56.199 ****** 2025-11-25 08:41:01.682376 | controller | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.296) 0:00:56.197 ****** 2025-11-25 08:41:01.682393 | controller | changed: [localhost] 2025-11-25 08:41:01.704149 | controller | 2025-11-25 08:41:01.704210 | controller | TASK [ci_setup : Check rhsm status _raw_params=subscription-manager status] **** 2025-11-25 08:41:01.704218 | controller | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.278) 0:00:56.477 ****** 2025-11-25 08:41:01.704224 | controller | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.278) 0:00:56.476 ****** 2025-11-25 08:41:01.704238 | controller | skipping: [localhost] 2025-11-25 08:41:01.725374 | controller | 2025-11-25 08:41:01.725428 | controller | TASK [ci_setup : Gather the repos to be enabled _repos={{ 2025-11-25 08:41:01.725435 | controller | cifmw_ci_setup_rhel_rhsm_default_repos + 2025-11-25 08:41:01.725442 | controller | (cifmw_ci_setup_rhel_rhsm_extra_repos | default([])) 2025-11-25 08:41:01.725448 | controller | }}] *** 2025-11-25 08:41:01.725454 | controller | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.021) 0:00:56.499 ****** 2025-11-25 08:41:01.725461 | controller | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.021) 0:00:56.497 ****** 2025-11-25 08:41:01.725473 | controller | skipping: [localhost] 2025-11-25 08:41:01.746711 | controller | 2025-11-25 08:41:01.746761 | controller | TASK [ci_setup : Enabling the required repositories. name={{ item }}, state={{ rhsm_repo_state | default('enabled') }}] *** 2025-11-25 08:41:01.746769 | controller | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.020) 0:00:56.520 ****** 2025-11-25 08:41:01.746775 | controller | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.020) 0:00:56.518 ****** 2025-11-25 08:41:01.746788 | controller | skipping: [localhost] 2025-11-25 08:41:01.766818 | controller | 2025-11-25 08:41:01.766849 | controller | TASK [ci_setup : Get current /etc/redhat-release _raw_params=cat /etc/redhat-release] *** 2025-11-25 08:41:01.766862 | controller | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.021) 0:00:56.542 ****** 2025-11-25 08:41:01.766870 | controller | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.021) 0:00:56.540 ****** 2025-11-25 08:41:01.766883 | controller | skipping: [localhost] 2025-11-25 08:41:01.787639 | controller | 2025-11-25 08:41:01.787668 | controller | TASK [ci_setup : Print current /etc/redhat-release msg={{ _current_rh_release.stdout }}] *** 2025-11-25 08:41:01.787676 | controller | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.020) 0:00:56.562 ****** 2025-11-25 08:41:01.787682 | controller | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.020) 0:00:56.560 ****** 2025-11-25 08:41:01.787692 | controller | skipping: [localhost] 2025-11-25 08:41:01.820219 | controller | 2025-11-25 08:41:01.820252 | controller | TASK [ci_setup : Ensure the repos are enabled in the system using yum name={{ item.name }}, baseurl={{ item.baseurl }}, description={{ item.description | default(item.name) }}, gpgcheck={{ item.gpgcheck | default(false) }}, enabled=True, state={{ yum_repo_state | default('present') }}] *** 2025-11-25 08:41:01.820261 | controller | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.020) 0:00:56.583 ****** 2025-11-25 08:41:01.820269 | controller | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.020) 0:00:56.581 ****** 2025-11-25 08:41:01.820279 | controller | skipping: [localhost] 2025-11-25 08:41:02.846401 | controller | 2025-11-25 08:41:02.846470 | controller | TASK [ci_setup : Manage directories path={{ item }}, state={{ directory_state }}, mode=0755, owner={{ ansible_user_id }}, group={{ ansible_user_id }}] *** 2025-11-25 08:41:02.846493 | controller | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.032) 0:00:56.615 ****** 2025-11-25 08:41:02.846502 | controller | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.032) 0:00:56.613 ****** 2025-11-25 08:41:02.846522 | controller | changed: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/manifests/openstack/cr) 2025-11-25 08:41:02.971632 | controller | changed: [localhost] => (item=/home/zuul/ci-framework-data/logs) 2025-11-25 08:41:02.971743 | controller | ok: [localhost] => (item=/home/zuul/ci-framework-data/tmp) 2025-11-25 08:41:02.971767 | controller | changed: [localhost] => (item=/home/zuul/ci-framework-data/volumes) 2025-11-25 08:41:02.971776 | controller | ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/parameters) 2025-11-25 08:41:02.971785 | controller | 2025-11-25 08:41:02.971793 | controller | TASK [Prepare install_yamls make targets name=install_yamls, apply={'tags': ['bootstrap']}] *** 2025-11-25 08:41:02.971800 | controller | Tuesday 25 November 2025 08:41:02 +0000 (0:00:01.026) 0:00:57.641 ****** 2025-11-25 08:41:02.971808 | controller | Tuesday 25 November 2025 08:41:02 +0000 (0:00:01.026) 0:00:57.640 ****** 2025-11-25 08:41:02.971827 | controller | 2025-11-25 08:41:03.578036 | controller | TASK [install_yamls : Ensure directories exist path={{ item }}, state=directory, mode=0755] *** 2025-11-25 08:41:03.578076 | controller | Tuesday 25 November 2025 08:41:02 +0000 (0:00:00.125) 0:00:57.767 ****** 2025-11-25 08:41:03.578086 | controller | Tuesday 25 November 2025 08:41:02 +0000 (0:00:00.125) 0:00:57.765 ****** 2025-11-25 08:41:03.578140 | controller | ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts) 2025-11-25 08:41:03.613374 | controller | changed: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/roles/install_yamls_makes/tasks) 2025-11-25 08:41:03.613449 | controller | ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/parameters) 2025-11-25 08:41:03.613459 | controller | 2025-11-25 08:41:03.613468 | controller | TASK [Create variables with local repos based on Zuul items name=install_yamls, tasks_from=zuul_set_operators_repo.yml] *** 2025-11-25 08:41:03.613477 | controller | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.606) 0:00:58.373 ****** 2025-11-25 08:41:03.613486 | controller | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.606) 0:00:58.371 ****** 2025-11-25 08:41:03.613507 | controller | 2025-11-25 08:41:03.670498 | controller | TASK [install_yamls : Set fact with local repos based on Zuul items cifmw_install_yamls_operators_repo={{ cifmw_install_yamls_operators_repo | default({}) | combine(_repo_operator_info | items2dict) }}] *** 2025-11-25 08:41:03.670536 | controller | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.035) 0:00:58.408 ****** 2025-11-25 08:41:03.670544 | controller | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.035) 0:00:58.407 ****** 2025-11-25 08:41:03.670556 | controller | ok: [localhost] => (item={'branch': 'main', 'change': '652', 'change_url': 'https://github.com/openstack-k8s-operators/keystone-operator/pull/652', 'commit_id': '99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a', 'patchset': '99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a', 'project': {'canonical_hostname': 'github.com', 'canonical_name': 'github.com/openstack-k8s-operators/keystone-operator', 'name': 'openstack-k8s-operators/keystone-operator', 'short_name': 'keystone-operator', 'src_dir': 'src/github.com/openstack-k8s-operators/keystone-operator'}, 'topic': None}) 2025-11-25 08:41:03.727685 | controller | 2025-11-25 08:41:03.727732 | controller | TASK [install_yamls : Print helpful data for debugging msg=_repo_operator_name: {{ _repo_operator_name }} 2025-11-25 08:41:03.727743 | controller | _repo_operator_info: {{ _repo_operator_info }} 2025-11-25 08:41:03.727752 | controller | cifmw_install_yamls_operators_repo: {{ cifmw_install_yamls_operators_repo }} 2025-11-25 08:41:03.727761 | controller | ] *** 2025-11-25 08:41:03.727773 | controller | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.057) 0:00:58.466 ****** 2025-11-25 08:41:03.727785 | controller | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.057) 0:00:58.464 ****** 2025-11-25 08:41:03.727807 | controller | ok: [localhost] => (item={'branch': 'main', 'change': '652', 'change_url': 'https://github.com/openstack-k8s-operators/keystone-operator/pull/652', 'commit_id': '99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a', 'patchset': '99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a', 'project': {'canonical_hostname': 'github.com', 'canonical_name': 'github.com/openstack-k8s-operators/keystone-operator', 'name': 'openstack-k8s-operators/keystone-operator', 'short_name': 'keystone-operator', 'src_dir': 'src/github.com/openstack-k8s-operators/keystone-operator'}, 'topic': None}) => 2025-11-25 08:41:03.769084 | controller | msg: | 2025-11-25 08:41:03.769169 | controller | _repo_operator_name: keystone 2025-11-25 08:41:03.769180 | controller | _repo_operator_info: [{'key': 'KEYSTONE_REPO', 'value': '/home/zuul/src/github.com/openstack-k8s-operators/keystone-operator'}, {'key': 'KEYSTONE_BRANCH', 'value': ''}] 2025-11-25 08:41:03.769189 | controller | cifmw_install_yamls_operators_repo: {'KEYSTONE_REPO': '/home/zuul/src/github.com/openstack-k8s-operators/keystone-operator', 'KEYSTONE_BRANCH': ''} 2025-11-25 08:41:03.769198 | controller | 2025-11-25 08:41:03.769206 | controller | TASK [Customize install_yamls devsetup vars if needed name=install_yamls, tasks_from=customize_devsetup_vars.yml] *** 2025-11-25 08:41:03.769215 | controller | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.056) 0:00:58.523 ****** 2025-11-25 08:41:03.769223 | controller | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.057) 0:00:58.521 ****** 2025-11-25 08:41:03.769238 | controller | 2025-11-25 08:41:03.795753 | controller | TASK [install_yamls : Update opm_version in install_yamls devsetup/vars/default.yaml path={{ cifmw_install_yamls_repo }}/devsetup/vars/default.yaml, regexp=^opm_version:, line=opm_version: {{ cifmw_install_yamls_opm_version }}, state=present] *** 2025-11-25 08:41:03.795804 | controller | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.041) 0:00:58.564 ****** 2025-11-25 08:41:03.795812 | controller | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.041) 0:00:58.562 ****** 2025-11-25 08:41:03.795824 | controller | skipping: [localhost] 2025-11-25 08:41:03.822636 | controller | 2025-11-25 08:41:03.822690 | controller | TASK [install_yamls : Update sdk_version in install_yamls devsetup/vars/default.yaml path={{ cifmw_install_yamls_repo }}/devsetup/vars/default.yaml, regexp=^sdk_version:, line=sdk_version: {{ cifmw_install_yamls_sdk_version }}, state=present] *** 2025-11-25 08:41:03.822699 | controller | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.026) 0:00:58.591 ****** 2025-11-25 08:41:03.822706 | controller | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.026) 0:00:58.589 ****** 2025-11-25 08:41:03.822719 | controller | skipping: [localhost] 2025-11-25 08:41:03.848275 | controller | 2025-11-25 08:41:03.848329 | controller | TASK [install_yamls : Update go_version in install_yamls devsetup/vars/default.yaml path={{ cifmw_install_yamls_repo }}/devsetup/vars/default.yaml, regexp=^go_version:, line=go_version: {{ cifmw_install_yamls_go_version }}, state=present] *** 2025-11-25 08:41:03.848338 | controller | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.026) 0:00:58.618 ****** 2025-11-25 08:41:03.848345 | controller | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.026) 0:00:58.616 ****** 2025-11-25 08:41:03.848359 | controller | skipping: [localhost] 2025-11-25 08:41:03.877972 | controller | 2025-11-25 08:41:03.878020 | controller | TASK [install_yamls : Update kustomize_version in install_yamls devsetup/vars/default.yaml path={{ cifmw_install_yamls_repo }}/devsetup/vars/default.yaml, regexp=^kustomize_version:, line=kustomize_version: {{ cifmw_install_yamls_kustomize_version }}, state=present] *** 2025-11-25 08:41:03.878028 | controller | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.025) 0:00:58.643 ****** 2025-11-25 08:41:03.878036 | controller | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.025) 0:00:58.642 ****** 2025-11-25 08:41:03.878048 | controller | skipping: [localhost] 2025-11-25 08:41:03.943200 | controller | 2025-11-25 08:41:03.943235 | controller | TASK [install_yamls : Compute the cifmw_install_yamls_vars final value _install_yamls_override_vars={{ 2025-11-25 08:41:03.943243 | controller | _install_yamls_override_vars | default({}) | 2025-11-25 08:41:03.943249 | controller | combine(item, recursive=True) 2025-11-25 08:41:03.943256 | controller | }}] *** 2025-11-25 08:41:03.943262 | controller | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.029) 0:00:58.673 ****** 2025-11-25 08:41:03.943282 | controller | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.029) 0:00:58.671 ****** 2025-11-25 08:41:03.943294 | controller | ok: [localhost] => (item={'BMO_SETUP': False}) 2025-11-25 08:41:03.986797 | controller | 2025-11-25 08:41:03.986843 | controller | TASK [install_yamls : Set environment override cifmw_install_yamls_environment fact cifmw_install_yamls_environment={{ 2025-11-25 08:41:03.986850 | controller | _install_yamls_override_vars.keys() | 2025-11-25 08:41:03.986857 | controller | map('upper') | 2025-11-25 08:41:03.986863 | controller | zip(_install_yamls_override_vars.values()) | 2025-11-25 08:41:03.986875 | controller | items2dict(key_name=0, value_name=1) | 2025-11-25 08:41:03.986881 | controller | combine({ 2025-11-25 08:41:03.986888 | controller | 'OUT': cifmw_install_yamls_manifests_dir, 2025-11-25 08:41:03.986894 | controller | 'OUTPUT_DIR': cifmw_install_yamls_edpm_dir, 2025-11-25 08:41:03.986900 | controller | 'CHECKOUT_FROM_OPENSTACK_REF': cifmw_install_yamls_checkout_openstack_ref, 2025-11-25 08:41:03.986907 | controller | 'OPENSTACK_K8S_BRANCH': (zuul is defined and not zuul.branch |regex_search('master|antelope|rhos')) | ternary(zuul.branch, 'main') 2025-11-25 08:41:03.986913 | controller | }) | 2025-11-25 08:41:03.986919 | controller | combine(install_yamls_operators_repos) 2025-11-25 08:41:03.986925 | controller | }}, cacheable=True] *** 2025-11-25 08:41:03.986932 | controller | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.064) 0:00:58.738 ****** 2025-11-25 08:41:03.986938 | controller | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.065) 0:00:58.736 ****** 2025-11-25 08:41:03.986950 | controller | ok: [localhost] 2025-11-25 08:41:04.488948 | controller | 2025-11-25 08:41:04.489043 | controller | TASK [install_yamls : Get environment structure base_path={{ cifmw_install_yamls_repo }}] *** 2025-11-25 08:41:04.489053 | controller | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.043) 0:00:58.782 ****** 2025-11-25 08:41:04.489060 | controller | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.043) 0:00:58.780 ****** 2025-11-25 08:41:04.489078 | controller | ok: [localhost] 2025-11-25 08:41:04.700757 | controller | 2025-11-25 08:41:04.700813 | controller | TASK [install_yamls : Ensure Output directory exists path={{ cifmw_install_yamls_out_dir }}, state=directory, mode=0755] *** 2025-11-25 08:41:04.700821 | controller | Tuesday 25 November 2025 08:41:04 +0000 (0:00:00.502) 0:00:59.284 ****** 2025-11-25 08:41:04.700827 | controller | Tuesday 25 November 2025 08:41:04 +0000 (0:00:00.502) 0:00:59.282 ****** 2025-11-25 08:41:04.700840 | controller | ok: [localhost] 2025-11-25 08:41:04.749629 | controller | 2025-11-25 08:41:04.749692 | controller | TASK [install_yamls : Ensure user cifmw_install_yamls_vars contains existing Makefile variables that=_cifmw_install_yamls_unmatched_vars | length == 0, msg=cifmw_install_yamls_vars contains a variable that is not defined in install_yamls Makefile nor cifmw_install_yamls_whitelisted_vars: {{ _cifmw_install_yamls_unmatched_vars | join(', ')}}, quiet=True] *** 2025-11-25 08:41:04.749703 | controller | Tuesday 25 November 2025 08:41:04 +0000 (0:00:00.211) 0:00:59.496 ****** 2025-11-25 08:41:04.749712 | controller | Tuesday 25 November 2025 08:41:04 +0000 (0:00:00.211) 0:00:59.494 ****** 2025-11-25 08:41:04.749729 | controller | ok: [localhost] 2025-11-25 08:41:05.161130 | controller | 2025-11-25 08:41:05.161172 | controller | TASK [install_yamls : Generate /home/zuul/ci-framework-data/artifacts/install_yamls.sh dest={{ cifmw_install_yamls_out_dir }}/{{ cifmw_install_yamls_envfile }}, content={% for k,v in cifmw_install_yamls_environment.items() %} 2025-11-25 08:41:05.161182 | controller | export {{ k }}={{ v }} 2025-11-25 08:41:05.161190 | controller | {% endfor %}, mode=0644] *** 2025-11-25 08:41:05.161240 | controller | Tuesday 25 November 2025 08:41:04 +0000 (0:00:00.048) 0:00:59.545 ****** 2025-11-25 08:41:05.161248 | controller | Tuesday 25 November 2025 08:41:04 +0000 (0:00:00.048) 0:00:59.543 ****** 2025-11-25 08:41:05.161263 | controller | changed: [localhost] 2025-11-25 08:41:05.190801 | controller | 2025-11-25 08:41:05.190841 | controller | TASK [install_yamls : Set install_yamls default values cifmw_install_yamls_defaults={{ get_makefiles_env_output.makefiles_values | combine(cifmw_install_yamls_environment) }}, cacheable=True] *** 2025-11-25 08:41:05.190851 | controller | Tuesday 25 November 2025 08:41:05 +0000 (0:00:00.411) 0:00:59.956 ****** 2025-11-25 08:41:05.190867 | controller | Tuesday 25 November 2025 08:41:05 +0000 (0:00:00.411) 0:00:59.954 ****** 2025-11-25 08:41:05.190881 | controller | ok: [localhost] 2025-11-25 08:41:05.213845 | controller | 2025-11-25 08:41:05.213886 | controller | TASK [install_yamls : Show the env structure var=cifmw_install_yamls_environment] *** 2025-11-25 08:41:05.213896 | controller | Tuesday 25 November 2025 08:41:05 +0000 (0:00:00.029) 0:00:59.986 ****** 2025-11-25 08:41:05.213904 | controller | Tuesday 25 November 2025 08:41:05 +0000 (0:00:00.029) 0:00:59.984 ****** 2025-11-25 08:41:05.213917 | controller | ok: [localhost] => 2025-11-25 08:41:05.238602 | controller | cifmw_install_yamls_environment: 2025-11-25 08:41:05.238655 | controller | BMO_SETUP: false 2025-11-25 08:41:05.238662 | controller | CHECKOUT_FROM_OPENSTACK_REF: 'true' 2025-11-25 08:41:05.238668 | controller | KEYSTONE_BRANCH: '' 2025-11-25 08:41:05.238675 | controller | KEYSTONE_REPO: /home/zuul/src/github.com/openstack-k8s-operators/keystone-operator 2025-11-25 08:41:05.238681 | controller | OPENSTACK_K8S_BRANCH: main 2025-11-25 08:41:05.238687 | controller | OUT: /home/zuul/ci-framework-data/artifacts/manifests 2025-11-25 08:41:05.238693 | controller | OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm 2025-11-25 08:41:05.238699 | controller | 2025-11-25 08:41:05.238705 | controller | TASK [install_yamls : Show the env structure defaults var=cifmw_install_yamls_defaults] *** 2025-11-25 08:41:05.238711 | controller | Tuesday 25 November 2025 08:41:05 +0000 (0:00:00.023) 0:01:00.009 ****** 2025-11-25 08:41:05.238718 | controller | Tuesday 25 November 2025 08:41:05 +0000 (0:00:00.023) 0:01:00.007 ****** 2025-11-25 08:41:05.238730 | controller | ok: [localhost] => 2025-11-25 08:41:05.238737 | controller | cifmw_install_yamls_defaults: 2025-11-25 08:41:05.238743 | controller | ADOPTED_EXTERNAL_NETWORK: 172.21.1.0/24 2025-11-25 08:41:05.238749 | controller | ADOPTED_INTERNALAPI_NETWORK: 172.17.1.0/24 2025-11-25 08:41:05.238755 | controller | ADOPTED_STORAGEMGMT_NETWORK: 172.20.1.0/24 2025-11-25 08:41:05.238761 | controller | ADOPTED_STORAGE_NETWORK: 172.18.1.0/24 2025-11-25 08:41:05.238767 | controller | ADOPTED_TENANT_NETWORK: 172.9.1.0/24 2025-11-25 08:41:05.238773 | controller | ANSIBLEEE: config/samples/_v1beta1_ansibleee.yaml 2025-11-25 08:41:05.238779 | controller | ANSIBLEEE_BRANCH: main 2025-11-25 08:41:05.238788 | controller | ANSIBLEEE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/config/samples/_v1beta1_ansibleee.yaml 2025-11-25 08:41:05.238794 | controller | ANSIBLEEE_IMG: quay.io/openstack-k8s-operators/openstack-ansibleee-operator-index:latest 2025-11-25 08:41:05.238801 | controller | ANSIBLEEE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/kuttl-test.yaml 2025-11-25 08:41:05.238807 | controller | ANSIBLEEE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/test/kuttl/tests 2025-11-25 08:41:05.238813 | controller | ANSIBLEEE_KUTTL_NAMESPACE: ansibleee-kuttl-tests 2025-11-25 08:41:05.238819 | controller | ANSIBLEEE_REPO: https://github.com/openstack-k8s-operators/openstack-ansibleee-operator 2025-11-25 08:41:05.238825 | controller | ANSIBLEE_COMMIT_HASH: '' 2025-11-25 08:41:05.238831 | controller | BARBICAN: config/samples/barbican_v1beta1_barbican.yaml 2025-11-25 08:41:05.238837 | controller | BARBICAN_BRANCH: main 2025-11-25 08:41:05.238843 | controller | BARBICAN_COMMIT_HASH: '' 2025-11-25 08:41:05.238849 | controller | BARBICAN_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/config/samples/barbican_v1beta1_barbican.yaml 2025-11-25 08:41:05.238855 | controller | BARBICAN_DEPL_IMG: unused 2025-11-25 08:41:05.238861 | controller | BARBICAN_IMG: quay.io/openstack-k8s-operators/barbican-operator-index:latest 2025-11-25 08:41:05.238867 | controller | BARBICAN_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/kuttl-test.yaml 2025-11-25 08:41:05.238873 | controller | BARBICAN_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests 2025-11-25 08:41:05.238879 | controller | BARBICAN_KUTTL_NAMESPACE: barbican-kuttl-tests 2025-11-25 08:41:05.238885 | controller | BARBICAN_REPO: https://github.com/openstack-k8s-operators/barbican-operator.git 2025-11-25 08:41:05.238896 | controller | BARBICAN_SERVICE_ENABLED: 'true' 2025-11-25 08:41:05.238903 | controller | BARBICAN_SIMPLE_CRYPTO_ENCRYPTION_KEY: sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= 2025-11-25 08:41:05.238909 | controller | BAREMETAL_BRANCH: main 2025-11-25 08:41:05.238915 | controller | BAREMETAL_COMMIT_HASH: '' 2025-11-25 08:41:05.238921 | controller | BAREMETAL_IMG: quay.io/openstack-k8s-operators/openstack-baremetal-operator-index:latest 2025-11-25 08:41:05.238926 | controller | BAREMETAL_OS_CONTAINER_IMG: '' 2025-11-25 08:41:05.238932 | controller | BAREMETAL_OS_IMG: '' 2025-11-25 08:41:05.238938 | controller | BAREMETAL_REPO: https://github.com/openstack-k8s-operators/openstack-baremetal-operator.git 2025-11-25 08:41:05.238944 | controller | BAREMETAL_TIMEOUT: 20m 2025-11-25 08:41:05.238950 | controller | BASH_IMG: quay.io/openstack-k8s-operators/bash:latest 2025-11-25 08:41:05.238956 | controller | BGP_ASN: '64999' 2025-11-25 08:41:05.238962 | controller | BGP_LEAF_1: 100.65.4.1 2025-11-25 08:41:05.238968 | controller | BGP_LEAF_2: 100.64.4.1 2025-11-25 08:41:05.238974 | controller | BGP_OVN_ROUTING: 'false' 2025-11-25 08:41:05.238980 | controller | BGP_PEER_ASN: '64999' 2025-11-25 08:41:05.238987 | controller | BGP_SOURCE_IP: 172.30.4.2 2025-11-25 08:41:05.238993 | controller | BGP_SOURCE_IP6: f00d:f00d:f00d:f00d:f00d:f00d:f00d:42 2025-11-25 08:41:05.238999 | controller | BMAAS_BRIDGE_IPV4_PREFIX: 172.20.1.2/24 2025-11-25 08:41:05.239005 | controller | BMAAS_BRIDGE_IPV6_PREFIX: fd00:bbbb::2/64 2025-11-25 08:41:05.239011 | controller | BMAAS_INSTANCE_DISK_SIZE: '20' 2025-11-25 08:41:05.239017 | controller | BMAAS_INSTANCE_MEMORY: '4096' 2025-11-25 08:41:05.239023 | controller | BMAAS_INSTANCE_NAME_PREFIX: crc-bmaas 2025-11-25 08:41:05.239029 | controller | BMAAS_INSTANCE_NET_MODEL: virtio 2025-11-25 08:41:05.239035 | controller | BMAAS_INSTANCE_OS_VARIANT: centos-stream9 2025-11-25 08:41:05.239041 | controller | BMAAS_INSTANCE_VCPUS: '2' 2025-11-25 08:41:05.239047 | controller | BMAAS_INSTANCE_VIRT_TYPE: kvm 2025-11-25 08:41:05.239053 | controller | BMAAS_IPV4: 'true' 2025-11-25 08:41:05.239059 | controller | BMAAS_IPV6: 'false' 2025-11-25 08:41:05.239065 | controller | BMAAS_LIBVIRT_USER: sushyemu 2025-11-25 08:41:05.239071 | controller | BMAAS_METALLB_ADDRESS_POOL: 172.20.1.64/26 2025-11-25 08:41:05.239076 | controller | BMAAS_METALLB_POOL_NAME: baremetal 2025-11-25 08:41:05.239082 | controller | BMAAS_NETWORK_IPV4_PREFIX: 172.20.1.1/24 2025-11-25 08:41:05.239088 | controller | BMAAS_NETWORK_IPV6_PREFIX: fd00:bbbb::1/64 2025-11-25 08:41:05.239094 | controller | BMAAS_NETWORK_NAME: crc-bmaas 2025-11-25 08:41:05.239115 | controller | BMAAS_NODE_COUNT: '1' 2025-11-25 08:41:05.239121 | controller | BMAAS_OCP_INSTANCE_NAME: crc 2025-11-25 08:41:05.239127 | controller | BMAAS_REDFISH_PASSWORD: password 2025-11-25 08:41:05.239133 | controller | BMAAS_REDFISH_USERNAME: admin 2025-11-25 08:41:05.239139 | controller | BMAAS_ROUTE_LIBVIRT_NETWORKS: crc-bmaas,crc,default 2025-11-25 08:41:05.239145 | controller | BMAAS_SUSHY_EMULATOR_DRIVER: libvirt 2025-11-25 08:41:05.239151 | controller | BMAAS_SUSHY_EMULATOR_IMAGE: quay.io/metal3-io/sushy-tools:latest 2025-11-25 08:41:05.239157 | controller | BMAAS_SUSHY_EMULATOR_NAMESPACE: sushy-emulator 2025-11-25 08:41:05.239163 | controller | BMAAS_SUSHY_EMULATOR_OS_CLIENT_CONFIG_FILE: /etc/openstack/clouds.yaml 2025-11-25 08:41:05.239169 | controller | BMAAS_SUSHY_EMULATOR_OS_CLOUD: openstack 2025-11-25 08:41:05.239175 | controller | BMH_NAMESPACE: openstack 2025-11-25 08:41:05.239181 | controller | BMO_BRANCH: release-0.9 2025-11-25 08:41:05.239187 | controller | BMO_CLEANUP: 'true' 2025-11-25 08:41:05.239193 | controller | BMO_COMMIT_HASH: '' 2025-11-25 08:41:05.239199 | controller | BMO_IPA_BRANCH: stable/2024.1 2025-11-25 08:41:05.239205 | controller | BMO_IRONIC_HOST: 192.168.122.10 2025-11-25 08:41:05.239210 | controller | BMO_PROVISIONING_INTERFACE: '' 2025-11-25 08:41:05.239216 | controller | BMO_REPO: https://github.com/metal3-io/baremetal-operator 2025-11-25 08:41:05.239222 | controller | BMO_SETUP: false 2025-11-25 08:41:05.239228 | controller | BMO_SETUP_ROUTE_REPLACE: 'true' 2025-11-25 08:41:05.239238 | controller | BM_CTLPLANE_INTERFACE: enp1s0 2025-11-25 08:41:05.239245 | controller | BM_INSTANCE_MEMORY: '8192' 2025-11-25 08:41:05.239251 | controller | BM_INSTANCE_NAME_PREFIX: edpm-compute-baremetal 2025-11-25 08:41:05.239261 | controller | BM_INSTANCE_NAME_SUFFIX: '0' 2025-11-25 08:41:05.239267 | controller | BM_NETWORK_NAME: default 2025-11-25 08:41:05.239273 | controller | BM_NODE_COUNT: '1' 2025-11-25 08:41:05.239279 | controller | BM_ROOT_PASSWORD: '' 2025-11-25 08:41:05.239285 | controller | BM_ROOT_PASSWORD_SECRET: '' 2025-11-25 08:41:05.239291 | controller | CEILOMETER_CENTRAL_DEPL_IMG: unused 2025-11-25 08:41:05.239297 | controller | CEILOMETER_NOTIFICATION_DEPL_IMG: unused 2025-11-25 08:41:05.239303 | controller | CEPH_BRANCH: release-1.15 2025-11-25 08:41:05.239309 | controller | CEPH_CLIENT: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/toolbox.yaml 2025-11-25 08:41:05.239315 | controller | CEPH_COMMON: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/common.yaml 2025-11-25 08:41:05.239321 | controller | CEPH_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/cluster-test.yaml 2025-11-25 08:41:05.239329 | controller | CEPH_CRDS: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/crds.yaml 2025-11-25 08:41:05.239336 | controller | CEPH_IMG: quay.io/ceph/demo:latest-squid 2025-11-25 08:41:05.239345 | controller | CEPH_OP: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/operator-openshift.yaml 2025-11-25 08:41:05.239352 | controller | CEPH_REPO: https://github.com/rook/rook.git 2025-11-25 08:41:05.239360 | controller | CERTMANAGER_TIMEOUT: 300s 2025-11-25 08:41:05.239366 | controller | CHECKOUT_FROM_OPENSTACK_REF: 'true' 2025-11-25 08:41:05.239372 | controller | CINDER: config/samples/cinder_v1beta1_cinder.yaml 2025-11-25 08:41:05.239378 | controller | CINDERAPI_DEPL_IMG: unused 2025-11-25 08:41:05.239384 | controller | CINDERBKP_DEPL_IMG: unused 2025-11-25 08:41:05.239390 | controller | CINDERSCH_DEPL_IMG: unused 2025-11-25 08:41:05.239396 | controller | CINDERVOL_DEPL_IMG: unused 2025-11-25 08:41:05.239402 | controller | CINDER_BRANCH: main 2025-11-25 08:41:05.239408 | controller | CINDER_COMMIT_HASH: '' 2025-11-25 08:41:05.239414 | controller | CINDER_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/config/samples/cinder_v1beta1_cinder.yaml 2025-11-25 08:41:05.239420 | controller | CINDER_IMG: quay.io/openstack-k8s-operators/cinder-operator-index:latest 2025-11-25 08:41:05.239426 | controller | CINDER_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/kuttl-test.yaml 2025-11-25 08:41:05.239432 | controller | CINDER_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/test/kuttl/tests 2025-11-25 08:41:05.239438 | controller | CINDER_KUTTL_NAMESPACE: cinder-kuttl-tests 2025-11-25 08:41:05.239443 | controller | CINDER_REPO: https://github.com/openstack-k8s-operators/cinder-operator.git 2025-11-25 08:41:05.239450 | controller | CLEANUP_DIR_CMD: rm -Rf 2025-11-25 08:41:05.239456 | controller | CRC_BGP_NIC_1_MAC: '52:54:00:11:11:11' 2025-11-25 08:41:05.239466 | controller | CRC_BGP_NIC_2_MAC: '52:54:00:11:11:12' 2025-11-25 08:41:05.239472 | controller | CRC_HTTPS_PROXY: '' 2025-11-25 08:41:05.239478 | controller | CRC_HTTP_PROXY: '' 2025-11-25 08:41:05.239484 | controller | CRC_STORAGE_NAMESPACE: crc-storage 2025-11-25 08:41:05.239490 | controller | CRC_STORAGE_RETRIES: '3' 2025-11-25 08:41:05.239496 | controller | CRC_URL: '''https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/crc/latest/crc-linux-amd64.tar.xz''' 2025-11-25 08:41:05.239503 | controller | CRC_VERSION: latest 2025-11-25 08:41:05.239508 | controller | DATAPLANE_ANSIBLE_SECRET: dataplane-ansible-ssh-private-key-secret 2025-11-25 08:41:05.239514 | controller | DATAPLANE_ANSIBLE_USER: '' 2025-11-25 08:41:05.239520 | controller | DATAPLANE_COMPUTE_IP: 192.168.122.100 2025-11-25 08:41:05.239526 | controller | DATAPLANE_CONTAINER_PREFIX: openstack 2025-11-25 08:41:05.239532 | controller | DATAPLANE_CONTAINER_TAG: current-podified 2025-11-25 08:41:05.239538 | controller | DATAPLANE_CUSTOM_SERVICE_RUNNER_IMG: quay.io/openstack-k8s-operators/openstack-ansibleee-runner:latest 2025-11-25 08:41:05.239544 | controller | DATAPLANE_DEFAULT_GW: 192.168.122.1 2025-11-25 08:41:05.239550 | controller | DATAPLANE_EXTRA_NOVA_CONFIG_FILE: /dev/null 2025-11-25 08:41:05.239556 | controller | DATAPLANE_GROWVOLS_ARGS: /=8GB /tmp=1GB /home=1GB /var=100% 2025-11-25 08:41:05.239566 | controller | DATAPLANE_KUSTOMIZE_SCENARIO: preprovisioned 2025-11-25 08:41:05.239572 | controller | DATAPLANE_NETWORKER_IP: 192.168.122.200 2025-11-25 08:41:05.239578 | controller | DATAPLANE_NETWORK_INTERFACE_NAME: eth0 2025-11-25 08:41:05.239584 | controller | DATAPLANE_NOVA_NFS_PATH: '' 2025-11-25 08:41:05.239590 | controller | DATAPLANE_NTP_SERVER: pool.ntp.org 2025-11-25 08:41:05.239596 | controller | DATAPLANE_PLAYBOOK: osp.edpm.download_cache 2025-11-25 08:41:05.239602 | controller | DATAPLANE_REGISTRY_URL: quay.io/podified-antelope-centos9 2025-11-25 08:41:05.239608 | controller | DATAPLANE_RUNNER_IMG: '' 2025-11-25 08:41:05.239614 | controller | DATAPLANE_SERVER_ROLE: compute 2025-11-25 08:41:05.239619 | controller | DATAPLANE_SSHD_ALLOWED_RANGES: '[''192.168.122.0/24'']' 2025-11-25 08:41:05.239626 | controller | DATAPLANE_TIMEOUT: 30m 2025-11-25 08:41:05.239634 | controller | DATAPLANE_TLS_ENABLED: 'true' 2025-11-25 08:41:05.239642 | controller | DATAPLANE_TOTAL_NETWORKER_NODES: '1' 2025-11-25 08:41:05.239650 | controller | DATAPLANE_TOTAL_NODES: '1' 2025-11-25 08:41:05.239658 | controller | DBSERVICE: galera 2025-11-25 08:41:05.239666 | controller | DESIGNATE: config/samples/designate_v1beta1_designate.yaml 2025-11-25 08:41:05.239675 | controller | DESIGNATE_BRANCH: main 2025-11-25 08:41:05.239689 | controller | DESIGNATE_COMMIT_HASH: '' 2025-11-25 08:41:05.239697 | controller | DESIGNATE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/config/samples/designate_v1beta1_designate.yaml 2025-11-25 08:41:05.239707 | controller | DESIGNATE_IMG: quay.io/openstack-k8s-operators/designate-operator-index:latest 2025-11-25 08:41:05.239715 | controller | DESIGNATE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/kuttl-test.yaml 2025-11-25 08:41:05.239723 | controller | DESIGNATE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/test/kuttl/tests 2025-11-25 08:41:05.239735 | controller | DESIGNATE_KUTTL_NAMESPACE: designate-kuttl-tests 2025-11-25 08:41:05.239743 | controller | DESIGNATE_REPO: https://github.com/openstack-k8s-operators/designate-operator.git 2025-11-25 08:41:05.239750 | controller | DNSDATA: config/samples/network_v1beta1_dnsdata.yaml 2025-11-25 08:41:05.239757 | controller | DNSDATA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_dnsdata.yaml 2025-11-25 08:41:05.239764 | controller | DNSMASQ: config/samples/network_v1beta1_dnsmasq.yaml 2025-11-25 08:41:05.239772 | controller | DNSMASQ_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_dnsmasq.yaml 2025-11-25 08:41:05.239778 | controller | DNS_DEPL_IMG: unused 2025-11-25 08:41:05.239784 | controller | DNS_DOMAIN: localdomain 2025-11-25 08:41:05.239790 | controller | DOWNLOAD_TOOLS_SELECTION: all 2025-11-25 08:41:05.239796 | controller | EDPM_ATTACH_EXTNET: 'true' 2025-11-25 08:41:05.239802 | controller | EDPM_COMPUTE_ADDITIONAL_HOST_ROUTES: '''[]''' 2025-11-25 08:41:05.239808 | controller | EDPM_COMPUTE_ADDITIONAL_NETWORKS: '''[]''' 2025-11-25 08:41:05.239814 | controller | EDPM_COMPUTE_CELLS: '1' 2025-11-25 08:41:05.239820 | controller | EDPM_COMPUTE_CEPH_ENABLED: 'true' 2025-11-25 08:41:05.239825 | controller | EDPM_COMPUTE_CEPH_NOVA: 'true' 2025-11-25 08:41:05.239831 | controller | EDPM_COMPUTE_DHCP_AGENT_ENABLED: 'true' 2025-11-25 08:41:05.239837 | controller | EDPM_COMPUTE_SRIOV_ENABLED: 'true' 2025-11-25 08:41:05.239843 | controller | EDPM_COMPUTE_SUFFIX: '0' 2025-11-25 08:41:05.239849 | controller | EDPM_CONFIGURE_DEFAULT_ROUTE: 'true' 2025-11-25 08:41:05.239855 | controller | EDPM_CONFIGURE_HUGEPAGES: 'false' 2025-11-25 08:41:05.239861 | controller | EDPM_CONFIGURE_NETWORKING: 'true' 2025-11-25 08:41:05.239866 | controller | EDPM_FIRSTBOOT_EXTRA: /tmp/edpm-firstboot-extra 2025-11-25 08:41:05.239872 | controller | EDPM_NETWORKER_SUFFIX: '0' 2025-11-25 08:41:05.239878 | controller | EDPM_TOTAL_NETWORKERS: '1' 2025-11-25 08:41:05.239884 | controller | EDPM_TOTAL_NODES: '1' 2025-11-25 08:41:05.239890 | controller | GALERA_REPLICAS: '' 2025-11-25 08:41:05.239896 | controller | GENERATE_SSH_KEYS: 'true' 2025-11-25 08:41:05.239902 | controller | GIT_CLONE_OPTS: '' 2025-11-25 08:41:05.239908 | controller | GLANCE: config/samples/glance_v1beta1_glance.yaml 2025-11-25 08:41:05.239918 | controller | GLANCEAPI_DEPL_IMG: unused 2025-11-25 08:41:05.239924 | controller | GLANCE_BRANCH: main 2025-11-25 08:41:05.239930 | controller | GLANCE_COMMIT_HASH: '' 2025-11-25 08:41:05.239936 | controller | GLANCE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/config/samples/glance_v1beta1_glance.yaml 2025-11-25 08:41:05.239942 | controller | GLANCE_IMG: quay.io/openstack-k8s-operators/glance-operator-index:latest 2025-11-25 08:41:05.239948 | controller | GLANCE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/kuttl-test.yaml 2025-11-25 08:41:05.239954 | controller | GLANCE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/test/kuttl/tests 2025-11-25 08:41:05.239960 | controller | GLANCE_KUTTL_NAMESPACE: glance-kuttl-tests 2025-11-25 08:41:05.239966 | controller | GLANCE_REPO: https://github.com/openstack-k8s-operators/glance-operator.git 2025-11-25 08:41:05.239972 | controller | HEAT: config/samples/heat_v1beta1_heat.yaml 2025-11-25 08:41:05.239978 | controller | HEATAPI_DEPL_IMG: unused 2025-11-25 08:41:05.239987 | controller | HEATCFNAPI_DEPL_IMG: unused 2025-11-25 08:41:05.239993 | controller | HEATENGINE_DEPL_IMG: unused 2025-11-25 08:41:05.239999 | controller | HEAT_AUTH_ENCRYPTION_KEY: 767c3ed056cbaa3b9dfedb8c6f825bf0 2025-11-25 08:41:05.240007 | controller | HEAT_BRANCH: main 2025-11-25 08:41:05.240013 | controller | HEAT_COMMIT_HASH: '' 2025-11-25 08:41:05.240019 | controller | HEAT_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/config/samples/heat_v1beta1_heat.yaml 2025-11-25 08:41:05.240025 | controller | HEAT_IMG: quay.io/openstack-k8s-operators/heat-operator-index:latest 2025-11-25 08:41:05.240031 | controller | HEAT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/kuttl-test.yaml 2025-11-25 08:41:05.240037 | controller | HEAT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/test/kuttl/tests 2025-11-25 08:41:05.240043 | controller | HEAT_KUTTL_NAMESPACE: heat-kuttl-tests 2025-11-25 08:41:05.240048 | controller | HEAT_REPO: https://github.com/openstack-k8s-operators/heat-operator.git 2025-11-25 08:41:05.240054 | controller | HEAT_SERVICE_ENABLED: 'true' 2025-11-25 08:41:05.240060 | controller | HORIZON: config/samples/horizon_v1beta1_horizon.yaml 2025-11-25 08:41:05.240066 | controller | HORIZON_BRANCH: main 2025-11-25 08:41:05.240072 | controller | HORIZON_COMMIT_HASH: '' 2025-11-25 08:41:05.240078 | controller | HORIZON_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/config/samples/horizon_v1beta1_horizon.yaml 2025-11-25 08:41:05.240084 | controller | HORIZON_DEPL_IMG: unused 2025-11-25 08:41:05.240090 | controller | HORIZON_IMG: quay.io/openstack-k8s-operators/horizon-operator-index:latest 2025-11-25 08:41:05.240111 | controller | HORIZON_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/kuttl-test.yaml 2025-11-25 08:41:05.240123 | controller | HORIZON_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests 2025-11-25 08:41:05.240129 | controller | HORIZON_KUTTL_NAMESPACE: horizon-kuttl-tests 2025-11-25 08:41:05.240135 | controller | HORIZON_REPO: https://github.com/openstack-k8s-operators/horizon-operator.git 2025-11-25 08:41:05.240141 | controller | INFRA_BRANCH: main 2025-11-25 08:41:05.240147 | controller | INFRA_COMMIT_HASH: '' 2025-11-25 08:41:05.240153 | controller | INFRA_IMG: quay.io/openstack-k8s-operators/infra-operator-index:latest 2025-11-25 08:41:05.240159 | controller | INFRA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/kuttl-test.yaml 2025-11-25 08:41:05.240165 | controller | INFRA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/test/kuttl/tests 2025-11-25 08:41:05.240170 | controller | INFRA_KUTTL_NAMESPACE: infra-kuttl-tests 2025-11-25 08:41:05.240176 | controller | INFRA_REPO: https://github.com/openstack-k8s-operators/infra-operator.git 2025-11-25 08:41:05.240186 | controller | INSTALL_CERT_MANAGER: 'true' 2025-11-25 08:41:05.240192 | controller | INSTALL_NMSTATE: true || false 2025-11-25 08:41:05.240198 | controller | INSTALL_NNCP: true || false 2025-11-25 08:41:05.240210 | controller | INTERNALAPI_HOST_ROUTES: '' 2025-11-25 08:41:05.240216 | controller | IPV6_LAB_IPV4_NETWORK_IPADDRESS: 172.30.0.1/24 2025-11-25 08:41:05.240222 | controller | IPV6_LAB_IPV6_NETWORK_IPADDRESS: fd00:abcd:abcd:fc00::1/64 2025-11-25 08:41:05.240228 | controller | IPV6_LAB_LIBVIRT_STORAGE_POOL: default 2025-11-25 08:41:05.240234 | controller | IPV6_LAB_MANAGE_FIREWALLD: 'true' 2025-11-25 08:41:05.240240 | controller | IPV6_LAB_NAT64_HOST_IPV4: 172.30.0.2/24 2025-11-25 08:41:05.240245 | controller | IPV6_LAB_NAT64_HOST_IPV6: fd00:abcd:abcd:fc00::2/64 2025-11-25 08:41:05.240251 | controller | IPV6_LAB_NAT64_INSTANCE_NAME: nat64-router 2025-11-25 08:41:05.240257 | controller | IPV6_LAB_NAT64_IPV6_NETWORK: fd00:abcd:abcd:fc00::/64 2025-11-25 08:41:05.240263 | controller | IPV6_LAB_NAT64_TAYGA_DYNAMIC_POOL: 192.168.255.0/24 2025-11-25 08:41:05.240269 | controller | IPV6_LAB_NAT64_TAYGA_IPV4: 192.168.255.1 2025-11-25 08:41:05.240277 | controller | IPV6_LAB_NAT64_TAYGA_IPV6: fd00:abcd:abcd:fc00::3 2025-11-25 08:41:05.240283 | controller | IPV6_LAB_NAT64_TAYGA_IPV6_PREFIX: fd00:abcd:abcd:fcff::/96 2025-11-25 08:41:05.240288 | controller | IPV6_LAB_NAT64_UPDATE_PACKAGES: 'false' 2025-11-25 08:41:05.240294 | controller | IPV6_LAB_NETWORK_NAME: nat64 2025-11-25 08:41:05.240300 | controller | IPV6_LAB_SNO_CLUSTER_NETWORK: fd00:abcd:0::/48 2025-11-25 08:41:05.240306 | controller | IPV6_LAB_SNO_HOST_IP: fd00:abcd:abcd:fc00::11 2025-11-25 08:41:05.240312 | controller | IPV6_LAB_SNO_HOST_PREFIX: '64' 2025-11-25 08:41:05.240318 | controller | IPV6_LAB_SNO_INSTANCE_NAME: sno 2025-11-25 08:41:05.240324 | controller | IPV6_LAB_SNO_MACHINE_NETWORK: fd00:abcd:abcd:fc00::/64 2025-11-25 08:41:05.240330 | controller | IPV6_LAB_SNO_OCP_MIRROR_URL: https://mirror.openshift.com/pub/openshift-v4/clients/ocp 2025-11-25 08:41:05.240336 | controller | IPV6_LAB_SNO_OCP_VERSION: latest-4.14 2025-11-25 08:41:05.240341 | controller | IPV6_LAB_SNO_SERVICE_NETWORK: fd00:abcd:abcd:fc03::/112 2025-11-25 08:41:05.240347 | controller | IPV6_LAB_SSH_PUB_KEY: /home/zuul/.ssh/id_rsa.pub 2025-11-25 08:41:05.240353 | controller | IPV6_LAB_WORK_DIR: /home/zuul/.ipv6lab 2025-11-25 08:41:05.240359 | controller | IRONIC: config/samples/ironic_v1beta1_ironic.yaml 2025-11-25 08:41:05.240365 | controller | IRONICAPI_DEPL_IMG: unused 2025-11-25 08:41:05.240371 | controller | IRONICCON_DEPL_IMG: unused 2025-11-25 08:41:05.240377 | controller | IRONICINS_DEPL_IMG: unused 2025-11-25 08:41:05.240386 | controller | IRONICNAG_DEPL_IMG: unused 2025-11-25 08:41:05.240392 | controller | IRONICPXE_DEPL_IMG: unused 2025-11-25 08:41:05.240398 | controller | IRONIC_BRANCH: main 2025-11-25 08:41:05.240404 | controller | IRONIC_COMMIT_HASH: '' 2025-11-25 08:41:05.240410 | controller | IRONIC_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/config/samples/ironic_v1beta1_ironic.yaml 2025-11-25 08:41:05.240416 | controller | IRONIC_IMAGE_TAG: release-24.1 2025-11-25 08:41:05.240421 | controller | IRONIC_IMG: quay.io/openstack-k8s-operators/ironic-operator-index:latest 2025-11-25 08:41:05.240427 | controller | IRONIC_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/kuttl-test.yaml 2025-11-25 08:41:05.240433 | controller | IRONIC_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/test/kuttl/tests 2025-11-25 08:41:05.240439 | controller | IRONIC_KUTTL_NAMESPACE: ironic-kuttl-tests 2025-11-25 08:41:05.240445 | controller | IRONIC_REPO: https://github.com/openstack-k8s-operators/ironic-operator.git 2025-11-25 08:41:05.240451 | controller | KEYSTONEAPI: config/samples/keystone_v1beta1_keystoneapi.yaml 2025-11-25 08:41:05.240457 | controller | KEYSTONEAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml 2025-11-25 08:41:05.240464 | controller | KEYSTONEAPI_DEPL_IMG: unused 2025-11-25 08:41:05.240472 | controller | KEYSTONE_BRANCH: '' 2025-11-25 08:41:05.240478 | controller | KEYSTONE_COMMIT_HASH: '' 2025-11-25 08:41:05.240484 | controller | KEYSTONE_FEDERATION_CLIENT_SECRET: COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f 2025-11-25 08:41:05.240490 | controller | KEYSTONE_FEDERATION_CRYPTO_PASSPHRASE: openstack 2025-11-25 08:41:05.240496 | controller | KEYSTONE_IMG: quay.io/openstack-k8s-operators/keystone-operator-index:latest 2025-11-25 08:41:05.240505 | controller | KEYSTONE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/kuttl-test.yaml 2025-11-25 08:41:05.240511 | controller | KEYSTONE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests 2025-11-25 08:41:05.240517 | controller | KEYSTONE_KUTTL_NAMESPACE: keystone-kuttl-tests 2025-11-25 08:41:05.240522 | controller | KEYSTONE_REPO: /home/zuul/src/github.com/openstack-k8s-operators/keystone-operator 2025-11-25 08:41:05.240528 | controller | KUBEADMIN_PWD: '12345678' 2025-11-25 08:41:05.240534 | controller | LIBVIRT_SECRET: libvirt-secret 2025-11-25 08:41:05.240540 | controller | LOKI_DEPLOY_MODE: openshift-network 2025-11-25 08:41:05.240546 | controller | LOKI_DEPLOY_NAMESPACE: netobserv 2025-11-25 08:41:05.240552 | controller | LOKI_DEPLOY_SIZE: 1x.demo 2025-11-25 08:41:05.240558 | controller | LOKI_NAMESPACE: openshift-operators-redhat 2025-11-25 08:41:05.240564 | controller | LOKI_OPERATOR_GROUP: openshift-operators-redhat-loki 2025-11-25 08:41:05.240569 | controller | LOKI_SUBSCRIPTION: loki-operator 2025-11-25 08:41:05.240575 | controller | LVMS_CR: '1' 2025-11-25 08:41:05.240581 | controller | MANILA: config/samples/manila_v1beta1_manila.yaml 2025-11-25 08:41:05.240587 | controller | MANILAAPI_DEPL_IMG: unused 2025-11-25 08:41:05.240593 | controller | MANILASCH_DEPL_IMG: unused 2025-11-25 08:41:05.240599 | controller | MANILASHARE_DEPL_IMG: unused 2025-11-25 08:41:05.240605 | controller | MANILA_BRANCH: main 2025-11-25 08:41:05.240611 | controller | MANILA_COMMIT_HASH: '' 2025-11-25 08:41:05.240617 | controller | MANILA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/config/samples/manila_v1beta1_manila.yaml 2025-11-25 08:41:05.240622 | controller | MANILA_IMG: quay.io/openstack-k8s-operators/manila-operator-index:latest 2025-11-25 08:41:05.240628 | controller | MANILA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/kuttl-test.yaml 2025-11-25 08:41:05.240637 | controller | MANILA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/test/kuttl/tests 2025-11-25 08:41:05.240643 | controller | MANILA_KUTTL_NAMESPACE: manila-kuttl-tests 2025-11-25 08:41:05.240649 | controller | MANILA_REPO: https://github.com/openstack-k8s-operators/manila-operator.git 2025-11-25 08:41:05.240656 | controller | MANILA_SERVICE_ENABLED: 'true' 2025-11-25 08:41:05.240663 | controller | MARIADB: config/samples/mariadb_v1beta1_galera.yaml 2025-11-25 08:41:05.240669 | controller | MARIADB_BRANCH: main 2025-11-25 08:41:05.240675 | controller | MARIADB_CHAINSAW_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/chainsaw/config.yaml 2025-11-25 08:41:05.240681 | controller | MARIADB_CHAINSAW_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/chainsaw/tests 2025-11-25 08:41:05.240687 | controller | MARIADB_CHAINSAW_NAMESPACE: mariadb-chainsaw-tests 2025-11-25 08:41:05.240694 | controller | MARIADB_COMMIT_HASH: '' 2025-11-25 08:41:05.240700 | controller | MARIADB_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml 2025-11-25 08:41:05.240706 | controller | MARIADB_DEPL_IMG: unused 2025-11-25 08:41:05.240713 | controller | MARIADB_IMG: quay.io/openstack-k8s-operators/mariadb-operator-index:latest 2025-11-25 08:41:05.240720 | controller | MARIADB_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/kuttl-test.yaml 2025-11-25 08:41:05.240727 | controller | MARIADB_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/kuttl/tests 2025-11-25 08:41:05.240734 | controller | MARIADB_KUTTL_NAMESPACE: mariadb-kuttl-tests 2025-11-25 08:41:05.240740 | controller | MARIADB_REPO: https://github.com/openstack-k8s-operators/mariadb-operator.git 2025-11-25 08:41:05.240746 | controller | MEMCACHED: config/samples/memcached_v1beta1_memcached.yaml 2025-11-25 08:41:05.240751 | controller | MEMCACHED_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml 2025-11-25 08:41:05.240757 | controller | MEMCACHED_DEPL_IMG: unused 2025-11-25 08:41:05.240763 | controller | METADATA_SHARED_SECRET: '1234567842' 2025-11-25 08:41:05.240774 | controller | METALLB_IPV6_POOL: fd00:aaaa::80-fd00:aaaa::90 2025-11-25 08:41:05.240780 | controller | METALLB_POOL: 192.168.122.80-192.168.122.90 2025-11-25 08:41:05.240785 | controller | MICROSHIFT: '0' 2025-11-25 08:41:05.240794 | controller | NAMESPACE: openstack 2025-11-25 08:41:05.240800 | controller | NETCONFIG: config/samples/network_v1beta1_netconfig.yaml 2025-11-25 08:41:05.240806 | controller | NETCONFIG_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_netconfig.yaml 2025-11-25 08:41:05.240812 | controller | NETCONFIG_DEPL_IMG: unused 2025-11-25 08:41:05.240818 | controller | NETOBSERV_DEPLOY_NAMESPACE: netobserv 2025-11-25 08:41:05.240823 | controller | NETOBSERV_NAMESPACE: openshift-netobserv-operator 2025-11-25 08:41:05.240829 | controller | NETOBSERV_OPERATOR_GROUP: openshift-netobserv-operator-net 2025-11-25 08:41:05.240835 | controller | NETOBSERV_SUBSCRIPTION: netobserv-operator 2025-11-25 08:41:05.240841 | controller | NETWORK_BGP: 'false' 2025-11-25 08:41:05.240847 | controller | NETWORK_DESIGNATE_ADDRESS_PREFIX: 172.28.0 2025-11-25 08:41:05.240853 | controller | NETWORK_DESIGNATE_EXT_ADDRESS_PREFIX: 172.50.0 2025-11-25 08:41:05.240859 | controller | NETWORK_INTERNALAPI_ADDRESS_PREFIX: 172.17.0 2025-11-25 08:41:05.240865 | controller | NETWORK_ISOLATION: 'true' 2025-11-25 08:41:05.240871 | controller | NETWORK_ISOLATION_INSTANCE_NAME: crc 2025-11-25 08:41:05.240876 | controller | NETWORK_ISOLATION_IPV4: 'true' 2025-11-25 08:41:05.240882 | controller | NETWORK_ISOLATION_IPV4_ADDRESS: 172.16.1.1/24 2025-11-25 08:41:05.240888 | controller | NETWORK_ISOLATION_IPV4_NAT: 'true' 2025-11-25 08:41:05.240894 | controller | NETWORK_ISOLATION_IPV6: 'false' 2025-11-25 08:41:05.240900 | controller | NETWORK_ISOLATION_IPV6_ADDRESS: fd00:aaaa::1/64 2025-11-25 08:41:05.240906 | controller | NETWORK_ISOLATION_IP_ADDRESS: 192.168.122.10 2025-11-25 08:41:05.240912 | controller | NETWORK_ISOLATION_MAC: '52:54:00:11:11:10' 2025-11-25 08:41:05.240917 | controller | NETWORK_ISOLATION_NETWORK_NAME: net-iso 2025-11-25 08:41:05.240923 | controller | NETWORK_ISOLATION_NET_NAME: default 2025-11-25 08:41:05.240929 | controller | NETWORK_ISOLATION_USE_DEFAULT_NETWORK: 'true' 2025-11-25 08:41:05.240935 | controller | NETWORK_MTU: '1500' 2025-11-25 08:41:05.240941 | controller | NETWORK_STORAGEMGMT_ADDRESS_PREFIX: 172.20.0 2025-11-25 08:41:05.240947 | controller | NETWORK_STORAGE_ADDRESS_PREFIX: 172.18.0 2025-11-25 08:41:05.240953 | controller | NETWORK_STORAGE_MACVLAN: '' 2025-11-25 08:41:05.240959 | controller | NETWORK_TENANT_ADDRESS_PREFIX: 172.19.0 2025-11-25 08:41:05.240965 | controller | NETWORK_VLAN_START: '20' 2025-11-25 08:41:05.240971 | controller | NETWORK_VLAN_STEP: '1' 2025-11-25 08:41:05.240977 | controller | NEUTRONAPI: config/samples/neutron_v1beta1_neutronapi.yaml 2025-11-25 08:41:05.240983 | controller | NEUTRONAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/config/samples/neutron_v1beta1_neutronapi.yaml 2025-11-25 08:41:05.240990 | controller | NEUTRONAPI_DEPL_IMG: unused 2025-11-25 08:41:05.240996 | controller | NEUTRON_BRANCH: main 2025-11-25 08:41:05.241002 | controller | NEUTRON_COMMIT_HASH: '' 2025-11-25 08:41:05.241008 | controller | NEUTRON_IMG: quay.io/openstack-k8s-operators/neutron-operator-index:latest 2025-11-25 08:41:05.241014 | controller | NEUTRON_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/kuttl-test.yaml 2025-11-25 08:41:05.241020 | controller | NEUTRON_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/test/kuttl/tests 2025-11-25 08:41:05.241026 | controller | NEUTRON_KUTTL_NAMESPACE: neutron-kuttl-tests 2025-11-25 08:41:05.241032 | controller | NEUTRON_REPO: https://github.com/openstack-k8s-operators/neutron-operator.git 2025-11-25 08:41:05.241039 | controller | NFS_HOME: /home/nfs 2025-11-25 08:41:05.241045 | controller | NMSTATE_NAMESPACE: openshift-nmstate 2025-11-25 08:41:05.241051 | controller | NMSTATE_OPERATOR_GROUP: openshift-nmstate-tn6k8 2025-11-25 08:41:05.241057 | controller | NMSTATE_SUBSCRIPTION: kubernetes-nmstate-operator 2025-11-25 08:41:05.241066 | controller | NNCP_ADDITIONAL_HOST_ROUTES: '' 2025-11-25 08:41:05.241072 | controller | NNCP_BGP_1_INTERFACE: enp7s0 2025-11-25 08:41:05.241078 | controller | NNCP_BGP_1_IP_ADDRESS: 100.65.4.2 2025-11-25 08:41:05.241087 | controller | NNCP_BGP_2_INTERFACE: enp8s0 2025-11-25 08:41:05.241093 | controller | NNCP_BGP_2_IP_ADDRESS: 100.64.4.2 2025-11-25 08:41:05.241123 | controller | NNCP_BRIDGE: ospbr 2025-11-25 08:41:05.241130 | controller | NNCP_CLEANUP_TIMEOUT: 120s 2025-11-25 08:41:05.241136 | controller | NNCP_CTLPLANE_IPV6_ADDRESS_PREFIX: 'fd00:aaaa::' 2025-11-25 08:41:05.241142 | controller | NNCP_CTLPLANE_IPV6_ADDRESS_SUFFIX: '10' 2025-11-25 08:41:05.241148 | controller | NNCP_CTLPLANE_IP_ADDRESS_PREFIX: 192.168.122 2025-11-25 08:41:05.241154 | controller | NNCP_CTLPLANE_IP_ADDRESS_SUFFIX: '10' 2025-11-25 08:41:05.241159 | controller | NNCP_DNS_SERVER: 192.168.122.1 2025-11-25 08:41:05.241165 | controller | NNCP_DNS_SERVER_IPV6: fd00:aaaa::1 2025-11-25 08:41:05.241171 | controller | NNCP_GATEWAY: 192.168.122.1 2025-11-25 08:41:05.241177 | controller | NNCP_GATEWAY_IPV6: fd00:aaaa::1 2025-11-25 08:41:05.241183 | controller | NNCP_INTERFACE: enp6s0 2025-11-25 08:41:05.241189 | controller | NNCP_NODES: '' 2025-11-25 08:41:05.241195 | controller | NNCP_TIMEOUT: 240s 2025-11-25 08:41:05.241201 | controller | NOVA: config/samples/nova_v1beta1_nova_collapsed_cell.yaml 2025-11-25 08:41:05.241207 | controller | NOVA_BRANCH: main 2025-11-25 08:41:05.241213 | controller | NOVA_COMMIT_HASH: '' 2025-11-25 08:41:05.241219 | controller | NOVA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator/config/samples/nova_v1beta1_nova_collapsed_cell.yaml 2025-11-25 08:41:05.241227 | controller | NOVA_IMG: quay.io/openstack-k8s-operators/nova-operator-index:latest 2025-11-25 08:41:05.241234 | controller | NOVA_REPO: https://github.com/openstack-k8s-operators/nova-operator.git 2025-11-25 08:41:05.241240 | controller | NUMBER_OF_INSTANCES: '1' 2025-11-25 08:41:05.241246 | controller | OCP_NETWORK_NAME: crc 2025-11-25 08:41:05.241252 | controller | OCTAVIA: config/samples/octavia_v1beta1_octavia.yaml 2025-11-25 08:41:05.241258 | controller | OCTAVIA_BRANCH: main 2025-11-25 08:41:05.241263 | controller | OCTAVIA_COMMIT_HASH: '' 2025-11-25 08:41:05.241269 | controller | OCTAVIA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/config/samples/octavia_v1beta1_octavia.yaml 2025-11-25 08:41:05.241275 | controller | OCTAVIA_IMG: quay.io/openstack-k8s-operators/octavia-operator-index:latest 2025-11-25 08:41:05.241281 | controller | OCTAVIA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/kuttl-test.yaml 2025-11-25 08:41:05.241287 | controller | OCTAVIA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/test/kuttl/tests 2025-11-25 08:41:05.241293 | controller | OCTAVIA_KUTTL_NAMESPACE: octavia-kuttl-tests 2025-11-25 08:41:05.241299 | controller | OCTAVIA_REPO: https://github.com/openstack-k8s-operators/octavia-operator.git 2025-11-25 08:41:05.241305 | controller | OKD: 'false' 2025-11-25 08:41:05.241311 | controller | OPENSTACK_BRANCH: main 2025-11-25 08:41:05.241318 | controller | OPENSTACK_BUNDLE_IMG: quay.io/openstack-k8s-operators/openstack-operator-bundle:latest 2025-11-25 08:41:05.241325 | controller | OPENSTACK_COMMIT_HASH: '' 2025-11-25 08:41:05.241331 | controller | OPENSTACK_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml 2025-11-25 08:41:05.241338 | controller | OPENSTACK_CRDS_DIR: openstack_crds 2025-11-25 08:41:05.241344 | controller | OPENSTACK_CTLPLANE: config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml 2025-11-25 08:41:05.241350 | controller | OPENSTACK_IMG: quay.io/openstack-k8s-operators/openstack-operator-index:latest 2025-11-25 08:41:05.241356 | controller | OPENSTACK_K8S_BRANCH: main 2025-11-25 08:41:05.241364 | controller | OPENSTACK_K8S_TAG: latest 2025-11-25 08:41:05.241381 | controller | OPENSTACK_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/kuttl-test.yaml 2025-11-25 08:41:05.241390 | controller | OPENSTACK_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests 2025-11-25 08:41:05.241399 | controller | OPENSTACK_KUTTL_NAMESPACE: openstack-kuttl-tests 2025-11-25 08:41:05.241407 | controller | OPENSTACK_NEUTRON_CUSTOM_CONF: '' 2025-11-25 08:41:05.241423 | controller | OPENSTACK_REPO: https://github.com/openstack-k8s-operators/openstack-operator.git 2025-11-25 08:41:05.241431 | controller | OPENSTACK_STORAGE_BUNDLE_IMG: quay.io/openstack-k8s-operators/openstack-operator-storage-bundle:latest 2025-11-25 08:41:05.241439 | controller | OPERATOR_BASE_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator 2025-11-25 08:41:05.241446 | controller | OPERATOR_CHANNEL: '' 2025-11-25 08:41:05.241453 | controller | OPERATOR_NAMESPACE: openstack-operators 2025-11-25 08:41:05.241460 | controller | OPERATOR_SOURCE: '' 2025-11-25 08:41:05.241467 | controller | OPERATOR_SOURCE_NAMESPACE: '' 2025-11-25 08:41:05.241473 | controller | OUT: /home/zuul/ci-framework-data/artifacts/manifests 2025-11-25 08:41:05.241479 | controller | OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm 2025-11-25 08:41:05.241485 | controller | OVNCONTROLLER: config/samples/ovn_v1beta1_ovncontroller.yaml 2025-11-25 08:41:05.241493 | controller | OVNCONTROLLER_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovncontroller.yaml 2025-11-25 08:41:05.241499 | controller | OVNCONTROLLER_NMAP: 'true' 2025-11-25 08:41:05.241509 | controller | OVNDBS: config/samples/ovn_v1beta1_ovndbcluster.yaml 2025-11-25 08:41:05.241515 | controller | OVNDBS_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovndbcluster.yaml 2025-11-25 08:41:05.241524 | controller | OVNNORTHD: config/samples/ovn_v1beta1_ovnnorthd.yaml 2025-11-25 08:41:05.241530 | controller | OVNNORTHD_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovnnorthd.yaml 2025-11-25 08:41:05.241536 | controller | OVN_BRANCH: main 2025-11-25 08:41:05.241542 | controller | OVN_COMMIT_HASH: '' 2025-11-25 08:41:05.241552 | controller | OVN_IMG: quay.io/openstack-k8s-operators/ovn-operator-index:latest 2025-11-25 08:41:05.241559 | controller | OVN_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/kuttl-test.yaml 2025-11-25 08:41:05.241565 | controller | OVN_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/test/kuttl/tests 2025-11-25 08:41:05.241571 | controller | OVN_KUTTL_NAMESPACE: ovn-kuttl-tests 2025-11-25 08:41:05.241577 | controller | OVN_REPO: https://github.com/openstack-k8s-operators/ovn-operator.git 2025-11-25 08:41:05.241583 | controller | PASSWORD: '12345678' 2025-11-25 08:41:05.241589 | controller | PLACEMENTAPI: config/samples/placement_v1beta1_placementapi.yaml 2025-11-25 08:41:05.241595 | controller | PLACEMENTAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/config/samples/placement_v1beta1_placementapi.yaml 2025-11-25 08:41:05.241602 | controller | PLACEMENTAPI_DEPL_IMG: unused 2025-11-25 08:41:05.241608 | controller | PLACEMENT_BRANCH: main 2025-11-25 08:41:05.241614 | controller | PLACEMENT_COMMIT_HASH: '' 2025-11-25 08:41:05.241620 | controller | PLACEMENT_IMG: quay.io/openstack-k8s-operators/placement-operator-index:latest 2025-11-25 08:41:05.241626 | controller | PLACEMENT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/kuttl-test.yaml 2025-11-25 08:41:05.241634 | controller | PLACEMENT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/test/kuttl/tests 2025-11-25 08:41:05.241642 | controller | PLACEMENT_KUTTL_NAMESPACE: placement-kuttl-tests 2025-11-25 08:41:05.241650 | controller | PLACEMENT_REPO: https://github.com/openstack-k8s-operators/placement-operator.git 2025-11-25 08:41:05.241658 | controller | PULL_SECRET: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/pull-secret.txt 2025-11-25 08:41:05.241666 | controller | RABBITMQ: docs/examples/default-security-context/rabbitmq.yaml 2025-11-25 08:41:05.241678 | controller | RABBITMQ_BRANCH: patches 2025-11-25 08:41:05.241685 | controller | RABBITMQ_COMMIT_HASH: '' 2025-11-25 08:41:05.241693 | controller | RABBITMQ_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml 2025-11-25 08:41:05.241701 | controller | RABBITMQ_DEPL_IMG: unused 2025-11-25 08:41:05.241709 | controller | RABBITMQ_IMG: quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest 2025-11-25 08:41:05.241720 | controller | RABBITMQ_REPO: https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git 2025-11-25 08:41:05.241727 | controller | REDHAT_OPERATORS: 'false' 2025-11-25 08:41:05.241734 | controller | REDIS: config/samples/redis_v1beta1_redis.yaml 2025-11-25 08:41:05.241741 | controller | REDIS_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis/config/samples/redis_v1beta1_redis.yaml 2025-11-25 08:41:05.241748 | controller | REDIS_DEPL_IMG: unused 2025-11-25 08:41:05.241754 | controller | RH_REGISTRY_PWD: '' 2025-11-25 08:41:05.241760 | controller | RH_REGISTRY_USER: '' 2025-11-25 08:41:05.241766 | controller | SECRET: osp-secret 2025-11-25 08:41:05.241772 | controller | SG_CORE_DEPL_IMG: unused 2025-11-25 08:41:05.241777 | controller | STANDALONE_COMPUTE_DRIVER: libvirt 2025-11-25 08:41:05.241784 | controller | STANDALONE_EXTERNAL_NET_PREFFIX: 172.21.0 2025-11-25 08:41:05.241790 | controller | STANDALONE_INTERNALAPI_NET_PREFIX: 172.17.0 2025-11-25 08:41:05.241795 | controller | STANDALONE_STORAGEMGMT_NET_PREFIX: 172.20.0 2025-11-25 08:41:05.241801 | controller | STANDALONE_STORAGE_NET_PREFIX: 172.18.0 2025-11-25 08:41:05.241807 | controller | STANDALONE_TENANT_NET_PREFIX: 172.19.0 2025-11-25 08:41:05.241813 | controller | STORAGEMGMT_HOST_ROUTES: '' 2025-11-25 08:41:05.241819 | controller | STORAGE_CLASS: local-storage 2025-11-25 08:41:05.241825 | controller | STORAGE_HOST_ROUTES: '' 2025-11-25 08:41:05.241831 | controller | SWIFT: config/samples/swift_v1beta1_swift.yaml 2025-11-25 08:41:05.241837 | controller | SWIFT_BRANCH: main 2025-11-25 08:41:05.241843 | controller | SWIFT_COMMIT_HASH: '' 2025-11-25 08:41:05.241849 | controller | SWIFT_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/config/samples/swift_v1beta1_swift.yaml 2025-11-25 08:41:05.241855 | controller | SWIFT_IMG: quay.io/openstack-k8s-operators/swift-operator-index:latest 2025-11-25 08:41:05.241864 | controller | SWIFT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/kuttl-test.yaml 2025-11-25 08:41:05.241870 | controller | SWIFT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/test/kuttl/tests 2025-11-25 08:41:05.241876 | controller | SWIFT_KUTTL_NAMESPACE: swift-kuttl-tests 2025-11-25 08:41:05.241882 | controller | SWIFT_REPO: https://github.com/openstack-k8s-operators/swift-operator.git 2025-11-25 08:41:05.241888 | controller | TELEMETRY: config/samples/telemetry_v1beta1_telemetry.yaml 2025-11-25 08:41:05.241894 | controller | TELEMETRY_BRANCH: main 2025-11-25 08:41:05.241900 | controller | TELEMETRY_COMMIT_HASH: '' 2025-11-25 08:41:05.241906 | controller | TELEMETRY_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/config/samples/telemetry_v1beta1_telemetry.yaml 2025-11-25 08:41:05.241912 | controller | TELEMETRY_IMG: quay.io/openstack-k8s-operators/telemetry-operator-index:latest 2025-11-25 08:41:05.241918 | controller | TELEMETRY_KUTTL_BASEDIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator 2025-11-25 08:41:05.241924 | controller | TELEMETRY_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/kuttl-test.yaml 2025-11-25 08:41:05.241930 | controller | TELEMETRY_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/test/kuttl/suites 2025-11-25 08:41:05.241936 | controller | TELEMETRY_KUTTL_NAMESPACE: telemetry-kuttl-tests 2025-11-25 08:41:05.241942 | controller | TELEMETRY_KUTTL_RELPATH: test/kuttl/suites 2025-11-25 08:41:05.241948 | controller | TELEMETRY_REPO: https://github.com/openstack-k8s-operators/telemetry-operator.git 2025-11-25 08:41:05.241958 | controller | TENANT_HOST_ROUTES: '' 2025-11-25 08:41:05.247771 | controller | TIMEOUT: 300s 2025-11-25 08:41:05.247799 | controller | TLS_ENABLED: 'false' 2025-11-25 08:41:05.247809 | controller | tripleo_deploy: 'export REGISTRY_PWD:' 2025-11-25 08:41:05.247822 | controller | 2025-11-25 08:41:05.577989 | controller | TASK [install_yamls : Generate make targets install_yamls_path={{ cifmw_install_yamls_repo }}, output_directory={{ cifmw_install_yamls_tasks_out }}] *** 2025-11-25 08:41:05.578057 | controller | Tuesday 25 November 2025 08:41:05 +0000 (0:00:00.033) 0:01:00.043 ****** 2025-11-25 08:41:05.578072 | controller | Tuesday 25 November 2025 08:41:05 +0000 (0:00:00.033) 0:01:00.041 ****** 2025-11-25 08:41:05.578086 | controller | ok: [localhost] 2025-11-25 08:41:05.596175 | controller | 2025-11-25 08:41:05.596226 | controller | TASK [install_yamls : Debug generate_make module var=cifmw_generate_makes] ***** 2025-11-25 08:41:05.596234 | controller | Tuesday 25 November 2025 08:41:05 +0000 (0:00:00.329) 0:01:00.373 ****** 2025-11-25 08:41:05.596241 | controller | Tuesday 25 November 2025 08:41:05 +0000 (0:00:00.330) 0:01:00.371 ****** 2025-11-25 08:41:05.596253 | controller | ok: [localhost] => 2025-11-25 08:41:05.596260 | controller | cifmw_generate_makes: 2025-11-25 08:41:05.596266 | controller | changed: false 2025-11-25 08:41:05.596272 | controller | debug: 2025-11-25 08:41:05.596278 | controller | /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/Makefile: 2025-11-25 08:41:05.596284 | controller | - all 2025-11-25 08:41:05.596290 | controller | - help 2025-11-25 08:41:05.596296 | controller | - cleanup 2025-11-25 08:41:05.596302 | controller | - deploy_cleanup 2025-11-25 08:41:05.596308 | controller | - wait 2025-11-25 08:41:05.596314 | controller | - crc_storage 2025-11-25 08:41:05.596320 | controller | - crc_storage_cleanup 2025-11-25 08:41:05.596326 | controller | - crc_storage_release 2025-11-25 08:41:05.596332 | controller | - crc_storage_with_retries 2025-11-25 08:41:05.596338 | controller | - crc_storage_cleanup_with_retries 2025-11-25 08:41:05.596344 | controller | - operator_namespace 2025-11-25 08:41:05.596350 | controller | - namespace 2025-11-25 08:41:05.596356 | controller | - namespace_cleanup 2025-11-25 08:41:05.596362 | controller | - input 2025-11-25 08:41:05.596367 | controller | - input_cleanup 2025-11-25 08:41:05.596373 | controller | - crc_bmo_setup 2025-11-25 08:41:05.596379 | controller | - crc_bmo_cleanup 2025-11-25 08:41:05.596385 | controller | - openstack_prep 2025-11-25 08:41:05.596391 | controller | - openstack 2025-11-25 08:41:05.596397 | controller | - openstack_wait 2025-11-25 08:41:05.596403 | controller | - openstack_init 2025-11-25 08:41:05.596408 | controller | - openstack_cleanup 2025-11-25 08:41:05.596414 | controller | - openstack_repo 2025-11-25 08:41:05.596420 | controller | - openstack_deploy_prep 2025-11-25 08:41:05.596426 | controller | - openstack_deploy 2025-11-25 08:41:05.596432 | controller | - openstack_wait_deploy 2025-11-25 08:41:05.596438 | controller | - openstack_deploy_cleanup 2025-11-25 08:41:05.596444 | controller | - openstack_update_run 2025-11-25 08:41:05.596450 | controller | - update_services 2025-11-25 08:41:05.596455 | controller | - update_system 2025-11-25 08:41:05.596461 | controller | - openstack_patch_version 2025-11-25 08:41:05.596467 | controller | - edpm_deploy_generate_keys 2025-11-25 08:41:05.596473 | controller | - edpm_patch_ansible_runner_image 2025-11-25 08:41:05.596479 | controller | - edpm_deploy_prep 2025-11-25 08:41:05.596486 | controller | - edpm_deploy_cleanup 2025-11-25 08:41:05.596492 | controller | - edpm_deploy 2025-11-25 08:41:05.596498 | controller | - edpm_deploy_baremetal_prep 2025-11-25 08:41:05.596504 | controller | - edpm_deploy_baremetal 2025-11-25 08:41:05.596509 | controller | - edpm_wait_deploy_baremetal 2025-11-25 08:41:05.596515 | controller | - edpm_wait_deploy 2025-11-25 08:41:05.596521 | controller | - edpm_register_dns 2025-11-25 08:41:05.596527 | controller | - edpm_nova_discover_hosts 2025-11-25 08:41:05.596533 | controller | - openstack_crds 2025-11-25 08:41:05.596538 | controller | - openstack_crds_cleanup 2025-11-25 08:41:05.596544 | controller | - edpm_deploy_networker_prep 2025-11-25 08:41:05.596550 | controller | - edpm_deploy_networker_cleanup 2025-11-25 08:41:05.596556 | controller | - edpm_deploy_networker 2025-11-25 08:41:05.596562 | controller | - infra_prep 2025-11-25 08:41:05.596567 | controller | - infra 2025-11-25 08:41:05.596573 | controller | - infra_cleanup 2025-11-25 08:41:05.596579 | controller | - dns_deploy_prep 2025-11-25 08:41:05.596585 | controller | - dns_deploy 2025-11-25 08:41:05.596591 | controller | - dns_deploy_cleanup 2025-11-25 08:41:05.596596 | controller | - netconfig_deploy_prep 2025-11-25 08:41:05.596602 | controller | - netconfig_deploy 2025-11-25 08:41:05.596608 | controller | - netconfig_deploy_cleanup 2025-11-25 08:41:05.596614 | controller | - memcached_deploy_prep 2025-11-25 08:41:05.596620 | controller | - memcached_deploy 2025-11-25 08:41:05.596632 | controller | - memcached_deploy_cleanup 2025-11-25 08:41:05.596638 | controller | - keystone_prep 2025-11-25 08:41:05.596644 | controller | - keystone 2025-11-25 08:41:05.596650 | controller | - keystone_cleanup 2025-11-25 08:41:05.596655 | controller | - keystone_deploy_prep 2025-11-25 08:41:05.596661 | controller | - keystone_deploy 2025-11-25 08:41:05.596667 | controller | - keystone_deploy_cleanup 2025-11-25 08:41:05.596673 | controller | - barbican_prep 2025-11-25 08:41:05.596679 | controller | - barbican 2025-11-25 08:41:05.596684 | controller | - barbican_cleanup 2025-11-25 08:41:05.596690 | controller | - barbican_deploy_prep 2025-11-25 08:41:05.596696 | controller | - barbican_deploy 2025-11-25 08:41:05.596702 | controller | - barbican_deploy_validate 2025-11-25 08:41:05.596708 | controller | - barbican_deploy_cleanup 2025-11-25 08:41:05.596714 | controller | - mariadb 2025-11-25 08:41:05.596719 | controller | - mariadb_cleanup 2025-11-25 08:41:05.596725 | controller | - mariadb_deploy_prep 2025-11-25 08:41:05.596731 | controller | - mariadb_deploy 2025-11-25 08:41:05.596737 | controller | - mariadb_deploy_cleanup 2025-11-25 08:41:05.596743 | controller | - placement_prep 2025-11-25 08:41:05.596748 | controller | - placement 2025-11-25 08:41:05.596754 | controller | - placement_cleanup 2025-11-25 08:41:05.596766 | controller | - placement_deploy_prep 2025-11-25 08:41:05.596772 | controller | - placement_deploy 2025-11-25 08:41:05.596778 | controller | - placement_deploy_cleanup 2025-11-25 08:41:05.596784 | controller | - glance_prep 2025-11-25 08:41:05.596790 | controller | - glance 2025-11-25 08:41:05.596795 | controller | - glance_cleanup 2025-11-25 08:41:05.596801 | controller | - glance_deploy_prep 2025-11-25 08:41:05.596807 | controller | - glance_deploy 2025-11-25 08:41:05.596813 | controller | - glance_deploy_cleanup 2025-11-25 08:41:05.596821 | controller | - ovn_prep 2025-11-25 08:41:05.596829 | controller | - ovn 2025-11-25 08:41:05.596836 | controller | - ovn_cleanup 2025-11-25 08:41:05.596844 | controller | - ovn_deploy_prep 2025-11-25 08:41:05.596851 | controller | - ovn_deploy 2025-11-25 08:41:05.596856 | controller | - ovn_deploy_cleanup 2025-11-25 08:41:05.596862 | controller | - neutron_prep 2025-11-25 08:41:05.596868 | controller | - neutron 2025-11-25 08:41:05.596874 | controller | - neutron_cleanup 2025-11-25 08:41:05.596879 | controller | - neutron_deploy_prep 2025-11-25 08:41:05.596885 | controller | - neutron_deploy 2025-11-25 08:41:05.596891 | controller | - neutron_deploy_cleanup 2025-11-25 08:41:05.596897 | controller | - cinder_prep 2025-11-25 08:41:05.596903 | controller | - cinder 2025-11-25 08:41:05.596908 | controller | - cinder_cleanup 2025-11-25 08:41:05.596914 | controller | - cinder_deploy_prep 2025-11-25 08:41:05.596920 | controller | - cinder_deploy 2025-11-25 08:41:05.596925 | controller | - cinder_deploy_cleanup 2025-11-25 08:41:05.596931 | controller | - rabbitmq_prep 2025-11-25 08:41:05.596937 | controller | - rabbitmq 2025-11-25 08:41:05.596943 | controller | - rabbitmq_cleanup 2025-11-25 08:41:05.596949 | controller | - rabbitmq_deploy_prep 2025-11-25 08:41:05.596955 | controller | - rabbitmq_deploy 2025-11-25 08:41:05.596961 | controller | - rabbitmq_deploy_cleanup 2025-11-25 08:41:05.596967 | controller | - ironic_prep 2025-11-25 08:41:05.596973 | controller | - ironic 2025-11-25 08:41:05.596978 | controller | - ironic_cleanup 2025-11-25 08:41:05.596984 | controller | - ironic_deploy_prep 2025-11-25 08:41:05.596990 | controller | - ironic_deploy 2025-11-25 08:41:05.596996 | controller | - ironic_deploy_cleanup 2025-11-25 08:41:05.597001 | controller | - octavia_prep 2025-11-25 08:41:05.597007 | controller | - octavia 2025-11-25 08:41:05.597013 | controller | - octavia_cleanup 2025-11-25 08:41:05.597019 | controller | - octavia_deploy_prep 2025-11-25 08:41:05.597024 | controller | - octavia_deploy 2025-11-25 08:41:05.597030 | controller | - octavia_deploy_cleanup 2025-11-25 08:41:05.597036 | controller | - designate_prep 2025-11-25 08:41:05.597042 | controller | - designate 2025-11-25 08:41:05.597047 | controller | - designate_cleanup 2025-11-25 08:41:05.597053 | controller | - designate_deploy_prep 2025-11-25 08:41:05.597059 | controller | - designate_deploy 2025-11-25 08:41:05.597065 | controller | - designate_deploy_cleanup 2025-11-25 08:41:05.597071 | controller | - nova_prep 2025-11-25 08:41:05.597080 | controller | - nova 2025-11-25 08:41:05.597086 | controller | - nova_cleanup 2025-11-25 08:41:05.597092 | controller | - nova_deploy_prep 2025-11-25 08:41:05.597112 | controller | - nova_deploy 2025-11-25 08:41:05.597121 | controller | - nova_deploy_cleanup 2025-11-25 08:41:05.597127 | controller | - mariadb_kuttl_run 2025-11-25 08:41:05.597133 | controller | - mariadb_kuttl 2025-11-25 08:41:05.597139 | controller | - kuttl_db_prep 2025-11-25 08:41:05.597145 | controller | - kuttl_db_cleanup 2025-11-25 08:41:05.597151 | controller | - kuttl_common_prep 2025-11-25 08:41:05.597156 | controller | - kuttl_common_cleanup 2025-11-25 08:41:05.597162 | controller | - keystone_kuttl_run 2025-11-25 08:41:05.597168 | controller | - keystone_kuttl 2025-11-25 08:41:05.597174 | controller | - barbican_kuttl_run 2025-11-25 08:41:05.597179 | controller | - barbican_kuttl 2025-11-25 08:41:05.597193 | controller | - placement_kuttl_run 2025-11-25 08:41:05.597199 | controller | - placement_kuttl 2025-11-25 08:41:05.597205 | controller | - cinder_kuttl_run 2025-11-25 08:41:05.597211 | controller | - cinder_kuttl 2025-11-25 08:41:05.597216 | controller | - neutron_kuttl_run 2025-11-25 08:41:05.597222 | controller | - neutron_kuttl 2025-11-25 08:41:05.597228 | controller | - octavia_kuttl_run 2025-11-25 08:41:05.597234 | controller | - octavia_kuttl 2025-11-25 08:41:05.597240 | controller | - designate_kuttl 2025-11-25 08:41:05.597246 | controller | - designate_kuttl_run 2025-11-25 08:41:05.597251 | controller | - ovn_kuttl_run 2025-11-25 08:41:05.597257 | controller | - ovn_kuttl 2025-11-25 08:41:05.597263 | controller | - infra_kuttl_run 2025-11-25 08:41:05.597269 | controller | - infra_kuttl 2025-11-25 08:41:05.597275 | controller | - ironic_kuttl_run 2025-11-25 08:41:05.597280 | controller | - ironic_kuttl 2025-11-25 08:41:05.597286 | controller | - ironic_kuttl_crc 2025-11-25 08:41:05.597292 | controller | - heat_kuttl_run 2025-11-25 08:41:05.597298 | controller | - heat_kuttl 2025-11-25 08:41:05.597303 | controller | - heat_kuttl_crc 2025-11-25 08:41:05.597309 | controller | - ansibleee_kuttl_run 2025-11-25 08:41:05.597315 | controller | - ansibleee_kuttl_cleanup 2025-11-25 08:41:05.597321 | controller | - ansibleee_kuttl_prep 2025-11-25 08:41:05.597326 | controller | - ansibleee_kuttl 2025-11-25 08:41:05.597332 | controller | - glance_kuttl_run 2025-11-25 08:41:05.597338 | controller | - glance_kuttl 2025-11-25 08:41:05.597344 | controller | - manila_kuttl_run 2025-11-25 08:41:05.597349 | controller | - manila_kuttl 2025-11-25 08:41:05.597355 | controller | - swift_kuttl_run 2025-11-25 08:41:05.597361 | controller | - swift_kuttl 2025-11-25 08:41:05.597367 | controller | - horizon_kuttl_run 2025-11-25 08:41:05.597372 | controller | - horizon_kuttl 2025-11-25 08:41:05.597378 | controller | - openstack_kuttl_run 2025-11-25 08:41:05.597384 | controller | - openstack_kuttl 2025-11-25 08:41:05.597390 | controller | - mariadb_chainsaw_run 2025-11-25 08:41:05.597396 | controller | - mariadb_chainsaw 2025-11-25 08:41:05.597401 | controller | - horizon_prep 2025-11-25 08:41:05.597407 | controller | - horizon 2025-11-25 08:41:05.597413 | controller | - horizon_cleanup 2025-11-25 08:41:05.597419 | controller | - horizon_deploy_prep 2025-11-25 08:41:05.597424 | controller | - horizon_deploy 2025-11-25 08:41:05.597430 | controller | - horizon_deploy_cleanup 2025-11-25 08:41:05.597436 | controller | - heat_prep 2025-11-25 08:41:05.597442 | controller | - heat 2025-11-25 08:41:05.597448 | controller | - heat_cleanup 2025-11-25 08:41:05.597453 | controller | - heat_deploy_prep 2025-11-25 08:41:05.597459 | controller | - heat_deploy 2025-11-25 08:41:05.597465 | controller | - heat_deploy_cleanup 2025-11-25 08:41:05.597471 | controller | - ansibleee_prep 2025-11-25 08:41:05.597477 | controller | - ansibleee 2025-11-25 08:41:05.597482 | controller | - ansibleee_cleanup 2025-11-25 08:41:05.597488 | controller | - baremetal_prep 2025-11-25 08:41:05.597494 | controller | - baremetal 2025-11-25 08:41:05.597500 | controller | - baremetal_cleanup 2025-11-25 08:41:05.597505 | controller | - ceph_help 2025-11-25 08:41:05.597511 | controller | - ceph 2025-11-25 08:41:05.597517 | controller | - ceph_cleanup 2025-11-25 08:41:05.597523 | controller | - rook_prep 2025-11-25 08:41:05.597529 | controller | - rook 2025-11-25 08:41:05.597534 | controller | - rook_deploy_prep 2025-11-25 08:41:05.597540 | controller | - rook_deploy 2025-11-25 08:41:05.597549 | controller | - rook_crc_disk 2025-11-25 08:41:05.597555 | controller | - rook_cleanup 2025-11-25 08:41:05.597560 | controller | - lvms 2025-11-25 08:41:05.597566 | controller | - nmstate 2025-11-25 08:41:05.597572 | controller | - nncp 2025-11-25 08:41:05.597578 | controller | - nncp_cleanup 2025-11-25 08:41:05.597584 | controller | - netattach 2025-11-25 08:41:05.597589 | controller | - netattach_cleanup 2025-11-25 08:41:05.597595 | controller | - metallb 2025-11-25 08:41:05.597601 | controller | - metallb_config 2025-11-25 08:41:05.597607 | controller | - metallb_config_cleanup 2025-11-25 08:41:05.597615 | controller | - metallb_cleanup 2025-11-25 08:41:05.597621 | controller | - loki 2025-11-25 08:41:05.597627 | controller | - loki_cleanup 2025-11-25 08:41:05.597633 | controller | - loki_deploy 2025-11-25 08:41:05.597639 | controller | - loki_deploy_cleanup 2025-11-25 08:41:05.597644 | controller | - netobserv 2025-11-25 08:41:05.597650 | controller | - netobserv_cleanup 2025-11-25 08:41:05.597656 | controller | - netobserv_deploy 2025-11-25 08:41:05.597686 | controller | - netobserv_deploy_cleanup 2025-11-25 08:41:05.597693 | controller | - manila_prep 2025-11-25 08:41:05.597699 | controller | - manila 2025-11-25 08:41:05.597705 | controller | - manila_cleanup 2025-11-25 08:41:05.597711 | controller | - manila_deploy_prep 2025-11-25 08:41:05.597716 | controller | - manila_deploy 2025-11-25 08:41:05.597722 | controller | - manila_deploy_cleanup 2025-11-25 08:41:05.597728 | controller | - telemetry_prep 2025-11-25 08:41:05.597734 | controller | - telemetry 2025-11-25 08:41:05.597740 | controller | - telemetry_cleanup 2025-11-25 08:41:05.597746 | controller | - telemetry_deploy_prep 2025-11-25 08:41:05.597751 | controller | - telemetry_deploy 2025-11-25 08:41:05.597757 | controller | - telemetry_deploy_cleanup 2025-11-25 08:41:05.597763 | controller | - telemetry_kuttl_run 2025-11-25 08:41:05.597769 | controller | - telemetry_kuttl 2025-11-25 08:41:05.597775 | controller | - swift_prep 2025-11-25 08:41:05.597780 | controller | - swift 2025-11-25 08:41:05.597786 | controller | - swift_cleanup 2025-11-25 08:41:05.597792 | controller | - swift_deploy_prep 2025-11-25 08:41:05.597798 | controller | - swift_deploy 2025-11-25 08:41:05.597803 | controller | - swift_deploy_cleanup 2025-11-25 08:41:05.597809 | controller | - certmanager 2025-11-25 08:41:05.597815 | controller | - certmanager_cleanup 2025-11-25 08:41:05.597821 | controller | - validate_marketplace 2025-11-25 08:41:05.597826 | controller | - redis_deploy_prep 2025-11-25 08:41:05.597832 | controller | - redis_deploy 2025-11-25 08:41:05.597838 | controller | - redis_deploy_cleanup 2025-11-25 08:41:05.597844 | controller | - set_slower_etcd_profile 2025-11-25 08:41:05.597854 | controller | /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup/Makefile: 2025-11-25 08:41:05.597860 | controller | - help 2025-11-25 08:41:05.597866 | controller | - download_tools 2025-11-25 08:41:05.597872 | controller | - nfs 2025-11-25 08:41:05.597877 | controller | - nfs_cleanup 2025-11-25 08:41:05.597883 | controller | - crc 2025-11-25 08:41:05.597889 | controller | - crc_cleanup 2025-11-25 08:41:05.597895 | controller | - crc_scrub 2025-11-25 08:41:05.597901 | controller | - crc_attach_default_interface 2025-11-25 08:41:05.597906 | controller | - crc_attach_default_interface_cleanup 2025-11-25 08:41:05.597912 | controller | - ipv6_lab_network 2025-11-25 08:41:05.597918 | controller | - ipv6_lab_network_cleanup 2025-11-25 08:41:05.597924 | controller | - ipv6_lab_nat64_router 2025-11-25 08:41:05.597930 | controller | - ipv6_lab_nat64_router_cleanup 2025-11-25 08:41:05.597936 | controller | - ipv6_lab_sno 2025-11-25 08:41:05.597942 | controller | - ipv6_lab_sno_cleanup 2025-11-25 08:41:05.597947 | controller | - ipv6_lab 2025-11-25 08:41:05.597953 | controller | - ipv6_lab_cleanup 2025-11-25 08:41:05.597959 | controller | - attach_default_interface 2025-11-25 08:41:05.597965 | controller | - attach_default_interface_cleanup 2025-11-25 08:41:05.597971 | controller | - network_isolation_bridge 2025-11-25 08:41:05.597976 | controller | - network_isolation_bridge_cleanup 2025-11-25 08:41:05.597982 | controller | - edpm_baremetal_compute 2025-11-25 08:41:05.597989 | controller | - edpm_compute 2025-11-25 08:41:05.597996 | controller | - edpm_compute_bootc 2025-11-25 08:41:05.598004 | controller | - edpm_ansible_runner 2025-11-25 08:41:05.598015 | controller | - edpm_computes_bgp 2025-11-25 08:41:05.598022 | controller | - edpm_compute_repos 2025-11-25 08:41:05.598030 | controller | - edpm_compute_cleanup 2025-11-25 08:41:05.598037 | controller | - edpm_networker 2025-11-25 08:41:05.598043 | controller | - edpm_networker_cleanup 2025-11-25 08:41:05.598049 | controller | - edpm_deploy_instance 2025-11-25 08:41:05.598055 | controller | - tripleo_deploy 2025-11-25 08:41:05.598061 | controller | - standalone_deploy 2025-11-25 08:41:05.598066 | controller | - standalone_sync 2025-11-25 08:41:05.598072 | controller | - standalone 2025-11-25 08:41:05.598078 | controller | - standalone_cleanup 2025-11-25 08:41:05.598084 | controller | - standalone_snapshot 2025-11-25 08:41:05.598089 | controller | - standalone_revert 2025-11-25 08:41:05.598095 | controller | - cifmw_prepare 2025-11-25 08:41:05.598129 | controller | - cifmw_cleanup 2025-11-25 08:41:05.598136 | controller | - bmaas_network 2025-11-25 08:41:05.598142 | controller | - bmaas_network_cleanup 2025-11-25 08:41:05.598147 | controller | - bmaas_route_crc_and_crc_bmaas_networks 2025-11-25 08:41:05.598153 | controller | - bmaas_route_crc_and_crc_bmaas_networks_cleanup 2025-11-25 08:41:05.598164 | controller | - bmaas_crc_attach_network 2025-11-25 08:41:05.606142 | controller | - bmaas_crc_attach_network_cleanup 2025-11-25 08:41:05.606179 | controller | - bmaas_crc_baremetal_bridge 2025-11-25 08:41:05.606186 | controller | - bmaas_crc_baremetal_bridge_cleanup 2025-11-25 08:41:05.606192 | controller | - bmaas_baremetal_net_nad 2025-11-25 08:41:05.606198 | controller | - bmaas_baremetal_net_nad_cleanup 2025-11-25 08:41:05.606204 | controller | - bmaas_metallb 2025-11-25 08:41:05.606210 | controller | - bmaas_metallb_cleanup 2025-11-25 08:41:05.606216 | controller | - bmaas_virtual_bms 2025-11-25 08:41:05.606222 | controller | - bmaas_virtual_bms_cleanup 2025-11-25 08:41:05.606228 | controller | - bmaas_sushy_emulator 2025-11-25 08:41:05.606234 | controller | - bmaas_sushy_emulator_cleanup 2025-11-25 08:41:05.606240 | controller | - bmaas_sushy_emulator_wait 2025-11-25 08:41:05.606246 | controller | - bmaas_generate_nodes_yaml 2025-11-25 08:41:05.606252 | controller | - bmaas 2025-11-25 08:41:05.606257 | controller | - bmaas_cleanup 2025-11-25 08:41:05.606263 | controller | failed: false 2025-11-25 08:41:05.606307 | controller | success: true 2025-11-25 08:41:05.606319 | controller | 2025-11-25 08:41:06.001080 | controller | TASK [install_yamls : Create the install_yamls parameters file dest={{ cifmw_basedir|default(ansible_user_dir ~ '/ci-framework-data') }}/artifacts/parameters/install-yamls-params.yml, content={{ 2025-11-25 08:41:06.001138 | controller | { 2025-11-25 08:41:06.001147 | controller | 'cifmw_install_yamls_environment': cifmw_install_yamls_environment, 2025-11-25 08:41:06.001154 | controller | 'cifmw_install_yamls_defaults': cifmw_install_yamls_defaults 2025-11-25 08:41:06.001160 | controller | } | to_nice_yaml 2025-11-25 08:41:06.001167 | controller | }}, mode=0644] *** 2025-11-25 08:41:06.001173 | controller | Tuesday 25 November 2025 08:41:05 +0000 (0:00:00.028) 0:01:00.401 ****** 2025-11-25 08:41:06.001179 | controller | Tuesday 25 November 2025 08:41:05 +0000 (0:00:00.028) 0:01:00.399 ****** 2025-11-25 08:41:06.001190 | controller | changed: [localhost] 2025-11-25 08:41:06.031907 | controller | 2025-11-25 08:41:06.031943 | controller | TASK [install_yamls : Create empty cifmw_install_yamls_environment if needed cifmw_install_yamls_environment={}] *** 2025-11-25 08:41:06.031952 | controller | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.395) 0:01:00.796 ****** 2025-11-25 08:41:06.031960 | controller | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.395) 0:01:00.795 ****** 2025-11-25 08:41:06.031973 | controller | skipping: [localhost] 2025-11-25 08:41:06.401680 | controller | 2025-11-25 08:41:06.401737 | controller | TASK [discover_latest_image : Get latest image url={{ cifmw_discover_latest_image_base_url }}, image_prefix={{ cifmw_discover_latest_image_qcow_prefix }}, images_file={{ cifmw_discover_latest_image_images_file }}] *** 2025-11-25 08:41:06.401745 | controller | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.030) 0:01:00.827 ****** 2025-11-25 08:41:06.401752 | controller | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.030) 0:01:00.825 ****** 2025-11-25 08:41:06.401766 | controller | changed: [localhost] 2025-11-25 08:41:06.443734 | controller | 2025-11-25 08:41:06.443796 | controller | TASK [discover_latest_image : Export facts accordingly cifmw_discovered_image_name={{ discovered_image['data']['image_name'] }}, cifmw_discovered_image_url={{ discovered_image['data']['image_url'] }}, cifmw_discovered_hash={{ discovered_image['data']['hash'] }}, cifmw_discovered_hash_algorithm={{ discovered_image['data']['hash_algorithm'] }}, cacheable=True] *** 2025-11-25 08:41:06.443805 | controller | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.369) 0:01:01.197 ****** 2025-11-25 08:41:06.443811 | controller | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.369) 0:01:01.195 ****** 2025-11-25 08:41:06.443825 | controller | ok: [localhost] 2025-11-25 08:41:06.868463 | controller | 2025-11-25 08:41:06.868530 | controller | TASK [cifmw_setup : Create artifacts with custom params mode=0644, dest={{ cifmw_basedir|default(ansible_user_dir ~ '/ci-framework-data') }}/artifacts/parameters/custom-params.yml, content={{ ci_framework_params | to_nice_yaml }}] *** 2025-11-25 08:41:06.868539 | controller | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.042) 0:01:01.239 ****** 2025-11-25 08:41:06.868546 | controller | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.042) 0:01:01.237 ****** 2025-11-25 08:41:06.868562 | controller | changed: [localhost] 2025-11-25 08:41:06.921444 | controller | 2025-11-25 08:41:06.921549 | controller | PLAY [Install deps and prepare for KUTTL run] ********************************** 2025-11-25 08:41:06.921557 | controller | 2025-11-25 08:41:06.921564 | controller | TASK [Download install_yamls deps name=install_yamls_makes, tasks_from=make_download_tools] *** 2025-11-25 08:41:06.921570 | controller | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.424) 0:01:01.664 ****** 2025-11-25 08:41:06.921576 | controller | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.424) 0:01:01.662 ****** 2025-11-25 08:41:06.921594 | controller | 2025-11-25 08:41:06.948569 | controller | TASK [install_yamls_makes : Debug make_download_tools_env var=make_download_tools_env] *** 2025-11-25 08:41:06.948639 | controller | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.052) 0:01:01.716 ****** 2025-11-25 08:41:06.948648 | controller | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.052) 0:01:01.715 ****** 2025-11-25 08:41:06.948665 | controller | skipping: [localhost] 2025-11-25 08:41:06.979907 | controller | 2025-11-25 08:41:06.979965 | controller | TASK [install_yamls_makes : Debug make_download_tools_params var=make_download_tools_params] *** 2025-11-25 08:41:06.979973 | controller | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.027) 0:01:01.744 ****** 2025-11-25 08:41:06.979980 | controller | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.027) 0:01:01.742 ****** 2025-11-25 08:41:06.979994 | controller | skipping: [localhost] 2025-11-25 08:41:41.974766 | controller | 2025-11-25 08:41:41.974834 | controller | TASK [install_yamls_makes : Run download_tools output_dir={{ cifmw_basedir|default(ansible_user_dir ~ '/ci-framework-data') }}/artifacts, chdir=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup, script=make download_tools, dry_run={{ make_download_tools_dryrun|default(false)|bool }}, extra_args={{ dict((make_download_tools_env|default({})), **(make_download_tools_params|default({}))) }}] *** 2025-11-25 08:41:41.974842 | controller | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.031) 0:01:01.775 ****** 2025-11-25 08:41:41.974849 | controller | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.031) 0:01:01.773 ****** 2025-11-25 08:41:41.974861 | controller | [WARNING]: conditional statements should not include jinja2 templating 2025-11-25 08:41:41.989368 | controller | delimiters such as {{ }} or {% %}. Found: {{ make_download_tools_until | 2025-11-25 08:41:41.989390 | controller | default(true) }} 2025-11-25 08:41:41.989402 | controller | Follow script's output here: /home/zuul/ci-framework-data/logs/ci_script_000_run_download.log 2025-11-25 08:41:42.045954 | controller | changed: [localhost] 2025-11-25 08:41:42.046017 | controller | 2025-11-25 08:41:42.046035 | controller | TASK [Login into Openshift cluster name=openshift_login] *********************** 2025-11-25 08:41:42.046050 | controller | Tuesday 25 November 2025 08:41:41 +0000 (0:00:35.009) 0:01:36.785 ****** 2025-11-25 08:41:42.046064 | controller | Tuesday 25 November 2025 08:41:41 +0000 (0:00:35.009) 0:01:36.783 ****** 2025-11-25 08:41:42.046129 | controller | 2025-11-25 08:41:42.270949 | controller | TASK [openshift_login : Ensure output directory exists path={{ cifmw_openshift_login_basedir }}/artifacts, state=directory, mode=0755] *** 2025-11-25 08:41:42.270999 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.056) 0:01:36.841 ****** 2025-11-25 08:41:42.271007 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.056) 0:01:36.839 ****** 2025-11-25 08:41:42.271020 | controller | ok: [localhost] 2025-11-25 08:41:42.305293 | controller | 2025-11-25 08:41:42.305358 | controller | TASK [openshift_login : OpenShift login _raw_params=login.yml] ***************** 2025-11-25 08:41:42.305370 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.224) 0:01:37.066 ****** 2025-11-25 08:41:42.305379 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.224) 0:01:37.064 ****** 2025-11-25 08:41:42.305399 | controller | included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/openshift_login/tasks/login.yml for localhost 2025-11-25 08:41:42.338785 | controller | 2025-11-25 08:41:42.338852 | controller | TASK [openshift_login : Check if the password file is present path={{ cifmw_openshift_login_password_file | default(cifmw_openshift_password_file) }}] *** 2025-11-25 08:41:42.338867 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.034) 0:01:37.101 ****** 2025-11-25 08:41:42.338885 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.034) 0:01:37.099 ****** 2025-11-25 08:41:42.338907 | controller | skipping: [localhost] 2025-11-25 08:41:42.372970 | controller | 2025-11-25 08:41:42.373052 | controller | TASK [openshift_login : Fetch user password content src={{ cifmw_openshift_login_password_file | default(cifmw_openshift_password_file) }}] *** 2025-11-25 08:41:42.373066 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.033) 0:01:37.134 ****** 2025-11-25 08:41:42.373079 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.033) 0:01:37.132 ****** 2025-11-25 08:41:42.373136 | controller | skipping: [localhost] 2025-11-25 08:41:42.411131 | controller | 2025-11-25 08:41:42.411201 | controller | TASK [openshift_login : Set user password as a fact cifmw_openshift_login_password={{ cifmw_openshift_login_password_file_slurp.content | b64decode }}, cacheable=True] *** 2025-11-25 08:41:42.411213 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.034) 0:01:37.168 ****** 2025-11-25 08:41:42.411221 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.034) 0:01:37.166 ****** 2025-11-25 08:41:42.411240 | controller | skipping: [localhost] 2025-11-25 08:41:42.447212 | controller | 2025-11-25 08:41:42.447268 | controller | TASK [openshift_login : Set role variables cifmw_openshift_login_kubeconfig={{ 2025-11-25 08:41:42.447276 | controller | cifmw_openshift_login_kubeconfig | 2025-11-25 08:41:42.447282 | controller | default(cifmw_openshift_kubeconfig) | 2025-11-25 08:41:42.447289 | controller | default( 2025-11-25 08:41:42.447295 | controller | ansible_env.KUBECONFIG if 'KUBECONFIG' in ansible_env else 2025-11-25 08:41:42.447301 | controller | cifmw_openshift_login_kubeconfig_default_path 2025-11-25 08:41:42.447308 | controller | ) | trim 2025-11-25 08:41:42.447315 | controller | }}, cifmw_openshift_login_user={{ cifmw_openshift_login_user | default(cifmw_openshift_user) | default(omit) }}, cifmw_openshift_login_password={{ cifmw_openshift_login_password | default(cifmw_openshift_password) | default(omit) }}, cifmw_openshift_login_api={{ cifmw_openshift_login_api | default(cifmw_openshift_api) | default(omit) }}, cifmw_openshift_login_cert_login={{ cifmw_openshift_login_cert_login | default(false)}}, cifmw_openshift_login_provided_token={{ cifmw_openshift_provided_token | default(omit) }}, cacheable=True] *** 2025-11-25 08:41:42.447322 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.038) 0:01:37.206 ****** 2025-11-25 08:41:42.447328 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.038) 0:01:37.204 ****** 2025-11-25 08:41:42.447343 | controller | ok: [localhost] 2025-11-25 08:41:42.617245 | controller | 2025-11-25 08:41:42.617279 | controller | TASK [openshift_login : Check if kubeconfig exists path={{ cifmw_openshift_login_kubeconfig }}] *** 2025-11-25 08:41:42.617287 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.036) 0:01:37.242 ****** 2025-11-25 08:41:42.617293 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.036) 0:01:37.241 ****** 2025-11-25 08:41:42.617309 | controller | ok: [localhost] 2025-11-25 08:41:42.648992 | controller | 2025-11-25 08:41:42.649025 | controller | TASK [openshift_login : Assert that enough data is provided to log in to OpenShift that=cifmw_openshift_login_kubeconfig_stat.stat.exists or (cifmw_openshift_login_provided_token is defined and cifmw_openshift_login_provided_token != '') or ( 2025-11-25 08:41:42.649033 | controller | (cifmw_openshift_login_user is defined) and 2025-11-25 08:41:42.649041 | controller | (cifmw_openshift_login_password is defined) and 2025-11-25 08:41:42.649047 | controller | (cifmw_openshift_login_api is defined) 2025-11-25 08:41:42.649053 | controller | ), msg=If an existing kubeconfig is not provided user/pwd or provided/initial token and API URL must be given] *** 2025-11-25 08:41:42.649059 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.170) 0:01:37.413 ****** 2025-11-25 08:41:42.649066 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.170) 0:01:37.411 ****** 2025-11-25 08:41:42.649076 | controller | ok: [localhost] => 2025-11-25 08:41:42.674406 | controller | changed: false 2025-11-25 08:41:42.674434 | controller | msg: All assertions passed 2025-11-25 08:41:42.674441 | controller | 2025-11-25 08:41:42.674448 | controller | TASK [openshift_login : Fetch kubeconfig content src={{ cifmw_openshift_login_kubeconfig }}] *** 2025-11-25 08:41:42.674455 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.031) 0:01:37.444 ****** 2025-11-25 08:41:42.674461 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.031) 0:01:37.442 ****** 2025-11-25 08:41:42.674471 | controller | skipping: [localhost] 2025-11-25 08:41:42.700194 | controller | 2025-11-25 08:41:42.700268 | controller | TASK [openshift_login : Fetch x509 key based users cifmw_openshift_login_key_based_users={{ 2025-11-25 08:41:42.700278 | controller | ( 2025-11-25 08:41:42.700284 | controller | cifmw_openshift_login_kubeconfig_content_b64.content | 2025-11-25 08:41:42.700291 | controller | b64decode | 2025-11-25 08:41:42.700297 | controller | from_yaml 2025-11-25 08:41:42.700303 | controller | ). users | default([]) | 2025-11-25 08:41:42.700309 | controller | selectattr('user.client-certificate-data', 'defined') | 2025-11-25 08:41:42.700315 | controller | map(attribute="name") | 2025-11-25 08:41:42.700321 | controller | map("split", "/") | 2025-11-25 08:41:42.700327 | controller | map("first") 2025-11-25 08:41:42.700333 | controller | }}, cacheable=True] *** 2025-11-25 08:41:42.700339 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.025) 0:01:37.470 ****** 2025-11-25 08:41:42.700345 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.025) 0:01:37.468 ****** 2025-11-25 08:41:42.700356 | controller | skipping: [localhost] 2025-11-25 08:41:42.726646 | controller | 2025-11-25 08:41:42.726683 | controller | TASK [openshift_login : Assign key based user if not provided and available cifmw_openshift_login_user={{ 2025-11-25 08:41:42.726693 | controller | (cifmw_openshift_login_assume_cert_system_user | ternary('system:', '')) + 2025-11-25 08:41:42.726702 | controller | (cifmw_openshift_login_key_based_users | map('replace', 'system:', '') | unique | first) 2025-11-25 08:41:42.726710 | controller | }}, cifmw_openshift_login_cert_login=True, cacheable=True] *** 2025-11-25 08:41:42.726717 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.025) 0:01:37.495 ****** 2025-11-25 08:41:42.726725 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.025) 0:01:37.493 ****** 2025-11-25 08:41:42.726738 | controller | skipping: [localhost] 2025-11-25 08:41:42.756067 | controller | 2025-11-25 08:41:42.756141 | controller | TASK [openshift_login : Set the retry count cifmw_openshift_login_retries_cnt={{ 2025-11-25 08:41:42.756152 | controller | 0 if cifmw_openshift_login_retries_cnt is undefined else 2025-11-25 08:41:42.756159 | controller | cifmw_openshift_login_retries_cnt|int + 1 2025-11-25 08:41:42.756166 | controller | }}] *** 2025-11-25 08:41:42.756172 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.026) 0:01:37.522 ****** 2025-11-25 08:41:42.756178 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.026) 0:01:37.520 ****** 2025-11-25 08:41:42.756192 | controller | ok: [localhost] 2025-11-25 08:41:42.792685 | controller | 2025-11-25 08:41:42.792757 | controller | TASK [openshift_login : Fetch token _raw_params=try_login.yml] ***************** 2025-11-25 08:41:42.792768 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.029) 0:01:37.551 ****** 2025-11-25 08:41:42.792787 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.029) 0:01:37.549 ****** 2025-11-25 08:41:42.792808 | controller | included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/openshift_login/tasks/try_login.yml for localhost 2025-11-25 08:41:43.088706 | controller | 2025-11-25 08:41:43.088765 | controller | TASK [openshift_login : Try get OpenShift access token _raw_params=oc whoami -t] *** 2025-11-25 08:41:43.088774 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.036) 0:01:37.588 ****** 2025-11-25 08:41:43.088780 | controller | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.036) 0:01:37.586 ****** 2025-11-25 08:41:43.088794 | controller | task path: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/openshift_login/tasks/try_login.yml:17 2025-11-25 08:41:43.506204 | controller | fatal: [localhost]: FAILED! => 2025-11-25 08:41:43.506242 | controller | changed: true 2025-11-25 08:41:43.506250 | controller | cmd: 2025-11-25 08:41:43.506256 | controller | - oc 2025-11-25 08:41:43.506262 | controller | - whoami 2025-11-25 08:41:43.506268 | controller | - -t 2025-11-25 08:41:43.506274 | controller | delta: '0:00:00.108922' 2025-11-25 08:41:43.506280 | controller | end: '2025-11-25 08:41:43.060757' 2025-11-25 08:41:43.506287 | controller | msg: non-zero return code 2025-11-25 08:41:43.506293 | controller | rc: 1 2025-11-25 08:41:43.506299 | controller | start: '2025-11-25 08:41:42.951835' 2025-11-25 08:41:43.506305 | controller | stderr: |- 2025-11-25 08:41:43.506311 | controller | error: Missing or incomplete configuration info. Please point to an existing, complete config file: 2025-11-25 08:41:43.506317 | controller | 2025-11-25 08:41:43.506323 | controller | 2025-11-25 08:41:43.506329 | controller | 1. Via the command-line flag --kubeconfig 2025-11-25 08:41:43.506336 | controller | 2. Via the KUBECONFIG environment variable 2025-11-25 08:41:43.506342 | controller | 3. In your home directory as ~/.kube/config 2025-11-25 08:41:43.506348 | controller | 2025-11-25 08:41:43.506354 | controller | To view or setup config directly use the 'config' command. 2025-11-25 08:41:43.506360 | controller | stderr_lines: 2025-11-25 08:41:43.506366 | controller | - 'error: Missing or incomplete configuration info. Please point to an existing, 2025-11-25 08:41:43.506372 | controller | complete config file:' 2025-11-25 08:41:43.506378 | controller | - '' 2025-11-25 08:41:43.506384 | controller | - '' 2025-11-25 08:41:43.506390 | controller | - ' 1. Via the command-line flag --kubeconfig' 2025-11-25 08:41:43.506396 | controller | - ' 2. Via the KUBECONFIG environment variable' 2025-11-25 08:41:43.506402 | controller | - ' 3. In your home directory as ~/.kube/config' 2025-11-25 08:41:43.506407 | controller | - '' 2025-11-25 08:41:43.506413 | controller | - To view or setup config directly use the 'config' command. 2025-11-25 08:41:43.506419 | controller | stdout: '' 2025-11-25 08:41:43.506425 | controller | stdout_lines: [] 2025-11-25 08:41:43.506431 | controller | ...ignoring 2025-11-25 08:41:43.506437 | controller | 2025-11-25 08:41:43.506444 | controller | TASK [openshift_login : Fetch OpenShift token output_dir={{ cifmw_openshift_login_basedir }}/artifacts, script=oc login {%- if cifmw_openshift_login_provided_token is not defined %} {%- if cifmw_openshift_login_user is defined %} -u {{ cifmw_openshift_login_user }} {%- endif %} {%- if cifmw_openshift_login_password is defined %} -p {{ cifmw_openshift_login_password }} {%- endif %} {% else %} --token={{ cifmw_openshift_login_provided_token }} {%- endif %} {%- if cifmw_openshift_login_skip_tls_verify|bool %} --insecure-skip-tls-verify=true {%- endif %} {%- if cifmw_openshift_login_api is defined %} {{ cifmw_openshift_login_api }} {%- endif %}] *** 2025-11-25 08:41:43.506451 | controller | Tuesday 25 November 2025 08:41:43 +0000 (0:00:00.295) 0:01:37.884 ****** 2025-11-25 08:41:43.506457 | controller | Tuesday 25 November 2025 08:41:43 +0000 (0:00:00.296) 0:01:37.882 ****** 2025-11-25 08:41:43.506469 | controller | Follow script's output here: /home/zuul/ci-framework-data/logs/ci_script_001_fetch_openshift.log 2025-11-25 08:41:43.530458 | controller | changed: [localhost] 2025-11-25 08:41:43.530493 | controller | 2025-11-25 08:41:43.530501 | controller | TASK [openshift_login : Ensure kubeconfig is provided that=cifmw_openshift_login_kubeconfig != ""] *** 2025-11-25 08:41:43.530513 | controller | Tuesday 25 November 2025 08:41:43 +0000 (0:00:00.417) 0:01:38.301 ****** 2025-11-25 08:41:43.530519 | controller | Tuesday 25 November 2025 08:41:43 +0000 (0:00:00.417) 0:01:38.300 ****** 2025-11-25 08:41:43.530530 | controller | ok: [localhost] => 2025-11-25 08:41:43.877564 | controller | changed: false 2025-11-25 08:41:43.877624 | controller | msg: All assertions passed 2025-11-25 08:41:43.877635 | controller | 2025-11-25 08:41:43.877644 | controller | TASK [openshift_login : Fetch new OpenShift access token _raw_params=oc whoami -t] *** 2025-11-25 08:41:43.877653 | controller | Tuesday 25 November 2025 08:41:43 +0000 (0:00:00.024) 0:01:38.326 ****** 2025-11-25 08:41:43.877662 | controller | Tuesday 25 November 2025 08:41:43 +0000 (0:00:00.024) 0:01:38.324 ****** 2025-11-25 08:41:43.877678 | controller | changed: [localhost] 2025-11-25 08:41:43.913677 | controller | 2025-11-25 08:41:43.913736 | controller | TASK [openshift_login : Set new OpenShift token cifmw_openshift_login_token={{ 2025-11-25 08:41:43.913747 | controller | (not cifmw_openshift_login_new_token_out.skipped | default(false)) | 2025-11-25 08:41:43.913755 | controller | ternary(cifmw_openshift_login_new_token_out.stdout, cifmw_openshift_login_whoami_out.stdout) 2025-11-25 08:41:43.913764 | controller | }}, cacheable=True] *** 2025-11-25 08:41:43.913773 | controller | Tuesday 25 November 2025 08:41:43 +0000 (0:00:00.347) 0:01:38.673 ****** 2025-11-25 08:41:43.913782 | controller | Tuesday 25 November 2025 08:41:43 +0000 (0:00:00.347) 0:01:38.671 ****** 2025-11-25 08:41:43.913797 | controller | ok: [localhost] 2025-11-25 08:41:44.199600 | controller | 2025-11-25 08:41:44.199634 | controller | TASK [openshift_login : Fetch OpenShift API URL _raw_params=oc whoami --show-server=true] *** 2025-11-25 08:41:44.199642 | controller | Tuesday 25 November 2025 08:41:43 +0000 (0:00:00.036) 0:01:38.709 ****** 2025-11-25 08:41:44.199648 | controller | Tuesday 25 November 2025 08:41:43 +0000 (0:00:00.036) 0:01:38.707 ****** 2025-11-25 08:41:44.199659 | controller | changed: [localhost] 2025-11-25 08:41:44.478492 | controller | 2025-11-25 08:41:44.478525 | controller | TASK [openshift_login : Fetch OpenShift kubeconfig context _raw_params=oc whoami -c] *** 2025-11-25 08:41:44.478533 | controller | Tuesday 25 November 2025 08:41:44 +0000 (0:00:00.285) 0:01:38.995 ****** 2025-11-25 08:41:44.478540 | controller | Tuesday 25 November 2025 08:41:44 +0000 (0:00:00.286) 0:01:38.993 ****** 2025-11-25 08:41:44.478550 | controller | changed: [localhost] 2025-11-25 08:41:44.784297 | controller | 2025-11-25 08:41:44.784371 | controller | TASK [openshift_login : Fetch OpenShift current user _raw_params=oc whoami] **** 2025-11-25 08:41:44.784389 | controller | Tuesday 25 November 2025 08:41:44 +0000 (0:00:00.279) 0:01:39.274 ****** 2025-11-25 08:41:44.784403 | controller | Tuesday 25 November 2025 08:41:44 +0000 (0:00:00.278) 0:01:39.272 ****** 2025-11-25 08:41:44.784428 | controller | changed: [localhost] 2025-11-25 08:41:44.844586 | controller | 2025-11-25 08:41:44.844641 | controller | TASK [openshift_login : Set OpenShift user, context and API facts cifmw_openshift_login_api={{ cifmw_openshift_login_api_out.stdout }}, cifmw_openshift_login_context={{ cifmw_openshift_login_context_out.stdout }}, cifmw_openshift_login_user={{ _oauth_user }}, cifmw_openshift_kubeconfig={{ cifmw_openshift_login_kubeconfig }}, cifmw_openshift_api={{ cifmw_openshift_login_api_out.stdout }}, cifmw_openshift_context={{ cifmw_openshift_login_context_out.stdout }}, cifmw_openshift_user={{ _oauth_user }}, cifmw_openshift_token={{ cifmw_openshift_login_token | default(omit) }}, cifmw_install_yamls_environment={{ ( cifmw_install_yamls_environment | 2025-11-25 08:41:44.844654 | controller | combine({'KUBECONFIG': cifmw_openshift_login_kubeconfig}) 2025-11-25 08:41:44.844663 | controller | ) if cifmw_install_yamls_environment is defined else omit 2025-11-25 08:41:44.844672 | controller | }}, cacheable=True] *** 2025-11-25 08:41:44.844680 | controller | Tuesday 25 November 2025 08:41:44 +0000 (0:00:00.305) 0:01:39.579 ****** 2025-11-25 08:41:44.844689 | controller | Tuesday 25 November 2025 08:41:44 +0000 (0:00:00.305) 0:01:39.578 ****** 2025-11-25 08:41:44.844705 | controller | ok: [localhost] 2025-11-25 08:41:45.276079 | controller | 2025-11-25 08:41:45.276144 | controller | TASK [openshift_login : Create the openshift_login parameters file dest={{ cifmw_basedir|default(ansible_user_dir ~ '/ci-framework-data') }}/artifacts/parameters/openshift-login-params.yml, content={{ cifmw_openshift_login_params_content | from_yaml | to_nice_yaml }}, mode=0600] *** 2025-11-25 08:41:45.276175 | controller | Tuesday 25 November 2025 08:41:44 +0000 (0:00:00.060) 0:01:39.640 ****** 2025-11-25 08:41:45.276183 | controller | Tuesday 25 November 2025 08:41:44 +0000 (0:00:00.060) 0:01:39.638 ****** 2025-11-25 08:41:45.276196 | controller | changed: [localhost] 2025-11-25 08:41:45.583659 | controller | 2025-11-25 08:41:45.583692 | controller | TASK [openshift_login : Read the install yamls parameters file path={{ cifmw_basedir|default(ansible_user_dir ~ '/ci-framework-data') }}/artifacts/parameters/install-yamls-params.yml] *** 2025-11-25 08:41:45.583700 | controller | Tuesday 25 November 2025 08:41:45 +0000 (0:00:00.430) 0:01:40.071 ****** 2025-11-25 08:41:45.583707 | controller | Tuesday 25 November 2025 08:41:45 +0000 (0:00:00.431) 0:01:40.069 ****** 2025-11-25 08:41:45.583718 | controller | ok: [localhost] 2025-11-25 08:41:46.116835 | controller | 2025-11-25 08:41:46.116868 | controller | TASK [openshift_login : Append the KUBECONFIG to the install yamls parameters content={{ 2025-11-25 08:41:46.116876 | controller | cifmw_openshift_login_install_yamls_artifacts_slurp['content'] | b64decode | from_yaml | 2025-11-25 08:41:46.116882 | controller | combine( 2025-11-25 08:41:46.116888 | controller | { 2025-11-25 08:41:46.116894 | controller | 'cifmw_install_yamls_environment': { 2025-11-25 08:41:46.116901 | controller | 'KUBECONFIG': cifmw_openshift_login_kubeconfig 2025-11-25 08:41:46.116907 | controller | } 2025-11-25 08:41:46.116913 | controller | }, recursive=true) | to_nice_yaml 2025-11-25 08:41:46.116920 | controller | }}, dest={{ cifmw_basedir|default(ansible_user_dir ~ '/ci-framework-data') }}/artifacts/parameters/install-yamls-params.yml, mode=0600] *** 2025-11-25 08:41:46.116926 | controller | Tuesday 25 November 2025 08:41:45 +0000 (0:00:00.305) 0:01:40.376 ****** 2025-11-25 08:41:46.116932 | controller | Tuesday 25 November 2025 08:41:45 +0000 (0:00:00.305) 0:01:40.374 ****** 2025-11-25 08:41:46.116943 | controller | changed: [localhost] 2025-11-25 08:41:46.309093 | controller | 2025-11-25 08:41:46.309148 | controller | TASK [openshift_setup : Ensure output directory exists path={{ cifmw_openshift_setup_basedir }}/artifacts, state=directory, mode=0755] *** 2025-11-25 08:41:46.309157 | controller | Tuesday 25 November 2025 08:41:46 +0000 (0:00:00.536) 0:01:40.912 ****** 2025-11-25 08:41:46.309164 | controller | Tuesday 25 November 2025 08:41:46 +0000 (0:00:00.536) 0:01:40.910 ****** 2025-11-25 08:41:46.309175 | controller | ok: [localhost] 2025-11-25 08:41:46.343968 | controller | 2025-11-25 08:41:46.344001 | controller | TASK [openshift_setup : Fetch namespaces to create cifmw_openshift_setup_namespaces={{ 2025-11-25 08:41:46.344009 | controller | (( 2025-11-25 08:41:46.344015 | controller | ([cifmw_install_yamls_defaults['NAMESPACE']] + 2025-11-25 08:41:46.344021 | controller | ([cifmw_install_yamls_defaults['OPERATOR_NAMESPACE']] if 'OPERATOR_NAMESPACE' is in cifmw_install_yamls_defaults else []) 2025-11-25 08:41:46.344028 | controller | ) if cifmw_install_yamls_defaults is defined else [] 2025-11-25 08:41:46.344034 | controller | ) + cifmw_openshift_setup_create_namespaces) | unique 2025-11-25 08:41:46.344040 | controller | }}] *** 2025-11-25 08:41:46.344046 | controller | Tuesday 25 November 2025 08:41:46 +0000 (0:00:00.192) 0:01:41.104 ****** 2025-11-25 08:41:46.344067 | controller | Tuesday 25 November 2025 08:41:46 +0000 (0:00:00.192) 0:01:41.102 ****** 2025-11-25 08:41:46.344078 | controller | ok: [localhost] 2025-11-25 08:41:47.980289 | controller | 2025-11-25 08:41:47.980360 | controller | TASK [openshift_setup : Create required namespaces kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit) }}, name={{ item }}, kind=Namespace, state=present] *** 2025-11-25 08:41:47.980376 | controller | Tuesday 25 November 2025 08:41:46 +0000 (0:00:00.034) 0:01:41.139 ****** 2025-11-25 08:41:47.980389 | controller | Tuesday 25 November 2025 08:41:46 +0000 (0:00:00.034) 0:01:41.137 ****** 2025-11-25 08:41:47.980409 | controller | changed: [localhost] => (item=openstack) 2025-11-25 08:41:48.003650 | controller | changed: [localhost] => (item=openstack-operators) 2025-11-25 08:41:48.003695 | controller | 2025-11-25 08:41:48.003706 | controller | TASK [openshift_setup : Get internal OpenShift registry route kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, kind=Route, name=default-route, namespace=openshift-image-registry] *** 2025-11-25 08:41:48.003724 | controller | Tuesday 25 November 2025 08:41:47 +0000 (0:00:01.636) 0:01:42.776 ****** 2025-11-25 08:41:48.003733 | controller | Tuesday 25 November 2025 08:41:47 +0000 (0:00:01.636) 0:01:42.774 ****** 2025-11-25 08:41:48.003749 | controller | skipping: [localhost] 2025-11-25 08:41:48.033501 | controller | 2025-11-25 08:41:48.033541 | controller | TASK [openshift_setup : Allow anonymous image-pulls in CRC registry for targeted namespaces state=present, kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, definition={'kind': 'RoleBinding', 'apiVersion': 'rbac.authorization.k8s.io/v1', 'metadata': {'name': 'system:image-puller', 'namespace': '{{ item }}'}, 'subjects': [{'kind': 'User', 'name': 'system:anonymous'}, {'kind': 'User', 'name': 'system:unauthenticated'}], 'roleRef': {'kind': 'ClusterRole', 'name': 'system:image-puller'}}] *** 2025-11-25 08:41:48.033553 | controller | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.023) 0:01:42.799 ****** 2025-11-25 08:41:48.033562 | controller | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.023) 0:01:42.797 ****** 2025-11-25 08:41:48.033575 | controller | skipping: [localhost] => (item=openstack) 2025-11-25 08:41:48.059786 | controller | skipping: [localhost] => (item=openstack-operators) 2025-11-25 08:41:48.059825 | controller | skipping: [localhost] 2025-11-25 08:41:48.059834 | controller | 2025-11-25 08:41:48.059843 | controller | TASK [openshift_setup : Wait for the image registry to be ready kind=Deployment, name=image-registry, namespace=openshift-image-registry, kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, wait=True, wait_sleep=10, wait_timeout=600, wait_condition={'type': 'Available', 'status': 'True'}] *** 2025-11-25 08:41:48.059851 | controller | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.029) 0:01:42.829 ****** 2025-11-25 08:41:48.059859 | controller | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.029) 0:01:42.827 ****** 2025-11-25 08:41:48.059872 | controller | skipping: [localhost] 2025-11-25 08:41:48.085500 | controller | 2025-11-25 08:41:48.085538 | controller | TASK [openshift_setup : Login into OpenShift internal registry output_dir={{ cifmw_openshift_setup_basedir }}/artifacts, script=podman login -u {{ cifmw_openshift_user }} -p {{ cifmw_openshift_token }} {%- if cifmw_openshift_setup_skip_internal_registry_tls_verify|bool %} --tls-verify=false {%- endif %} {{ cifmw_openshift_setup_registry_default_route.resources[0].spec.host }}] *** 2025-11-25 08:41:48.085547 | controller | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.026) 0:01:42.855 ****** 2025-11-25 08:41:48.085553 | controller | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.026) 0:01:42.853 ****** 2025-11-25 08:41:48.085565 | controller | skipping: [localhost] 2025-11-25 08:41:48.111149 | controller | 2025-11-25 08:41:48.111183 | controller | TASK [Ensure we have custom CA installed on host role=install_ca] ************** 2025-11-25 08:41:48.111191 | controller | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.025) 0:01:42.881 ****** 2025-11-25 08:41:48.111197 | controller | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.025) 0:01:42.879 ****** 2025-11-25 08:41:48.111208 | controller | skipping: [localhost] 2025-11-25 08:41:48.137465 | controller | 2025-11-25 08:41:48.137615 | controller | TASK [openshift_setup : Update ca bundle _raw_params=update-ca-trust extract] *** 2025-11-25 08:41:48.137631 | controller | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.025) 0:01:42.906 ****** 2025-11-25 08:41:48.137639 | controller | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.025) 0:01:42.904 ****** 2025-11-25 08:41:48.137652 | controller | skipping: [localhost] 2025-11-25 08:41:48.163625 | controller | 2025-11-25 08:41:48.163665 | controller | TASK [openshift_setup : Slurp CAs file src={{ cifmw_openshift_setup_ca_bundle_path }}] *** 2025-11-25 08:41:48.163675 | controller | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.026) 0:01:42.933 ****** 2025-11-25 08:41:48.163688 | controller | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.026) 0:01:42.931 ****** 2025-11-25 08:41:48.163703 | controller | skipping: [localhost] 2025-11-25 08:41:48.189139 | controller | 2025-11-25 08:41:48.189185 | controller | TASK [openshift_setup : Create config map with registry CAs kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, definition={'apiVersion': 'v1', 'kind': 'ConfigMap', 'metadata': {'namespace': 'openshift-config', 'name': 'registry-cas'}, 'data': '{{ _config_map_data | items2dict }}'}] *** 2025-11-25 08:41:48.189194 | controller | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.026) 0:01:42.959 ****** 2025-11-25 08:41:48.189201 | controller | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.026) 0:01:42.957 ****** 2025-11-25 08:41:48.189213 | controller | skipping: [localhost] 2025-11-25 08:41:48.214547 | controller | 2025-11-25 08:41:48.214584 | controller | TASK [openshift_setup : Install Red Hat CA for pulling images from internal registry kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, merge_type=merge, definition={'apiVersion': 'config.openshift.io/v1', 'kind': 'Image', 'metadata': {'name': 'cluster'}, 'spec': {'additionalTrustedCA': {'name': 'registry-cas'}}}] *** 2025-11-25 08:41:48.214595 | controller | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.025) 0:01:42.984 ****** 2025-11-25 08:41:48.214602 | controller | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.025) 0:01:42.982 ****** 2025-11-25 08:41:48.214614 | controller | skipping: [localhost] 2025-11-25 08:41:48.241035 | controller | 2025-11-25 08:41:48.241072 | controller | TASK [openshift_setup : Add insecure registry kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, merge_type=merge, definition={'apiVersion': 'config.openshift.io/v1', 'kind': 'Image', 'metadata': {'name': 'cluster'}, 'spec': {'registrySources': {'insecureRegistries': ['{{ cifmw_update_containers_registry }}'], 'allowedRegistries': '{{ all_registries }}'}}}] *** 2025-11-25 08:41:48.241081 | controller | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.025) 0:01:43.010 ****** 2025-11-25 08:41:48.241088 | controller | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.025) 0:01:43.008 ****** 2025-11-25 08:41:48.241115 | controller | skipping: [localhost] 2025-11-25 08:41:48.269888 | controller | 2025-11-25 08:41:48.269932 | controller | TASK [openshift_setup : Create a ICSP with repository digest mirrors kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, definition={'apiVersion': 'operator.openshift.io/v1alpha1', 'kind': 'ImageContentSourcePolicy', 'metadata': {'name': 'registry-digest-mirrors'}, 'spec': {'repositoryDigestMirrors': '{{ cifmw_openshift_setup_digest_mirrors }}'}}] *** 2025-11-25 08:41:48.269944 | controller | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.026) 0:01:43.036 ****** 2025-11-25 08:41:48.269952 | controller | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.026) 0:01:43.034 ****** 2025-11-25 08:41:48.269966 | controller | skipping: [localhost] 2025-11-25 08:41:49.167504 | controller | 2025-11-25 08:41:49.167567 | controller | TASK [openshift_setup : Gather network.operator info kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, api_version=operator.openshift.io/v1, kind=Network, name=cluster] *** 2025-11-25 08:41:49.167576 | controller | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.028) 0:01:43.065 ****** 2025-11-25 08:41:49.167583 | controller | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.028) 0:01:43.063 ****** 2025-11-25 08:41:49.167597 | controller | ok: [localhost] 2025-11-25 08:41:50.122615 | controller | 2025-11-25 08:41:50.122709 | controller | TASK [openshift_setup : Patch network operator api_version=operator.openshift.io/v1, kubeconfig={{ cifmw_openshift_kubeconfig }}, kind=Network, name=cluster, persist_config=True, patch=[{'path': '/spec/defaultNetwork/ovnKubernetesConfig/gatewayConfig/routingViaHost', 'value': True, 'op': 'replace'}, {'path': '/spec/defaultNetwork/ovnKubernetesConfig/gatewayConfig/ipForwarding', 'value': 'Global', 'op': 'replace'}]] *** 2025-11-25 08:41:50.122728 | controller | Tuesday 25 November 2025 08:41:49 +0000 (0:00:00.897) 0:01:43.963 ****** 2025-11-25 08:41:50.122735 | controller | Tuesday 25 November 2025 08:41:49 +0000 (0:00:00.897) 0:01:43.961 ****** 2025-11-25 08:41:50.122751 | controller | changed: [localhost] 2025-11-25 08:41:50.875694 | controller | 2025-11-25 08:41:50.875728 | controller | TASK [openshift_setup : Patch samples registry configuration kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, api_version=samples.operator.openshift.io/v1, kind=Config, name=cluster, patch=[{'op': 'replace', 'path': '/spec/samplesRegistry', 'value': 'registry.redhat.io'}]] *** 2025-11-25 08:41:50.875736 | controller | Tuesday 25 November 2025 08:41:50 +0000 (0:00:00.954) 0:01:44.917 ****** 2025-11-25 08:41:50.875743 | controller | Tuesday 25 November 2025 08:41:50 +0000 (0:00:00.954) 0:01:44.915 ****** 2025-11-25 08:41:50.875754 | controller | changed: [localhost] 2025-11-25 08:41:50.896311 | controller | 2025-11-25 08:41:50.896347 | controller | TASK [openshift_setup : Delete the pods from openshift-marketplace namespace kind=Pod, state=absent, delete_all=True, kubeconfig={{ cifmw_openshift_kubeconfig }}, namespace=openshift-marketplace] *** 2025-11-25 08:41:50.896359 | controller | Tuesday 25 November 2025 08:41:50 +0000 (0:00:00.754) 0:01:45.671 ****** 2025-11-25 08:41:50.896366 | controller | Tuesday 25 November 2025 08:41:50 +0000 (0:00:00.753) 0:01:45.669 ****** 2025-11-25 08:41:50.896377 | controller | skipping: [localhost] 2025-11-25 08:41:50.922804 | controller | 2025-11-25 08:41:50.922844 | controller | TASK [openshift_setup : Wait for openshift-marketplace pods to be running _raw_params=oc wait pod --all --for=condition=Ready -n openshift-marketplace --timeout=1m] *** 2025-11-25 08:41:50.922852 | controller | Tuesday 25 November 2025 08:41:50 +0000 (0:00:00.020) 0:01:45.692 ****** 2025-11-25 08:41:50.922860 | controller | Tuesday 25 November 2025 08:41:50 +0000 (0:00:00.020) 0:01:45.690 ****** 2025-11-25 08:41:50.922872 | controller | skipping: [localhost] 2025-11-25 08:41:50.981769 | controller | 2025-11-25 08:41:50.981820 | controller | TASK [Attach default network to CRC name=install_yamls_makes, tasks_from=make_crc_attach_default_interface] *** 2025-11-25 08:41:50.981840 | controller | Tuesday 25 November 2025 08:41:50 +0000 (0:00:00.026) 0:01:45.718 ****** 2025-11-25 08:41:50.981850 | controller | Tuesday 25 November 2025 08:41:50 +0000 (0:00:00.026) 0:01:45.716 ****** 2025-11-25 08:41:50.981864 | controller | 2025-11-25 08:41:51.007444 | controller | TASK [install_yamls_makes : Debug make_crc_attach_default_interface_env var=make_crc_attach_default_interface_env] *** 2025-11-25 08:41:51.007482 | controller | Tuesday 25 November 2025 08:41:50 +0000 (0:00:00.058) 0:01:45.777 ****** 2025-11-25 08:41:51.007490 | controller | Tuesday 25 November 2025 08:41:50 +0000 (0:00:00.058) 0:01:45.775 ****** 2025-11-25 08:41:51.007501 | controller | skipping: [localhost] 2025-11-25 08:41:51.034374 | controller | 2025-11-25 08:41:51.034413 | controller | TASK [install_yamls_makes : Debug make_crc_attach_default_interface_params var=make_crc_attach_default_interface_params] *** 2025-11-25 08:41:51.034421 | controller | Tuesday 25 November 2025 08:41:51 +0000 (0:00:00.025) 0:01:45.803 ****** 2025-11-25 08:41:51.034428 | controller | Tuesday 25 November 2025 08:41:51 +0000 (0:00:00.025) 0:01:45.801 ****** 2025-11-25 08:41:51.034440 | controller | skipping: [localhost] 2025-11-25 08:41:56.208583 | controller | 2025-11-25 08:41:56.208636 | controller | TASK [install_yamls_makes : Run crc_attach_default_interface output_dir={{ cifmw_basedir|default(ansible_user_dir ~ '/ci-framework-data') }}/artifacts, chdir=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup, script=make crc_attach_default_interface, dry_run={{ make_crc_attach_default_interface_dryrun|default(false)|bool }}, extra_args={{ dict((make_crc_attach_default_interface_env|default({})), **(make_crc_attach_default_interface_params|default({}))) }}] *** 2025-11-25 08:41:56.208656 | controller | Tuesday 25 November 2025 08:41:51 +0000 (0:00:00.026) 0:01:45.830 ****** 2025-11-25 08:41:56.208669 | controller | Tuesday 25 November 2025 08:41:51 +0000 (0:00:00.026) 0:01:45.828 ****** 2025-11-25 08:41:56.208688 | controller | [WARNING]: conditional statements should not include jinja2 templating 2025-11-25 08:41:56.223620 | controller | delimiters such as {{ }} or {% %}. Found: {{ 2025-11-25 08:41:56.223678 | controller | make_crc_attach_default_interface_until | default(true) }} 2025-11-25 08:41:56.223704 | controller | Follow script's output here: /home/zuul/ci-framework-data/logs/ci_script_002_run_crc_attach_default.log 2025-11-25 08:41:56.287786 | controller | changed: [localhost] 2025-11-25 08:41:56.287870 | controller | 2025-11-25 08:41:56.287882 | controller | TASK [run_hook : Assert parameters are valid quiet=True, that=['_list_hooks is not string', '_list_hooks is not mapping', '_list_hooks is iterable', '(hooks | default([])) is not string', '(hooks | default([])) is not mapping', '(hooks | default([])) is iterable']] *** 2025-11-25 08:41:56.287893 | controller | Tuesday 25 November 2025 08:41:56 +0000 (0:00:05.189) 0:01:51.019 ****** 2025-11-25 08:41:56.287902 | controller | Tuesday 25 November 2025 08:41:56 +0000 (0:00:05.189) 0:01:51.017 ****** 2025-11-25 08:41:56.287921 | controller | ok: [localhost] 2025-11-25 08:41:56.373691 | controller | 2025-11-25 08:41:56.373790 | controller | TASK [run_hook : Assert single hooks are all mappings quiet=True, that=['_not_mapping_hooks | length == 0'], msg=All single hooks must be a list of mappings or a mapping.] *** 2025-11-25 08:41:56.373801 | controller | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.063) 0:01:51.083 ****** 2025-11-25 08:41:56.373808 | controller | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.063) 0:01:51.081 ****** 2025-11-25 08:41:56.373825 | controller | ok: [localhost] 2025-11-25 08:41:56.468286 | controller | 2025-11-25 08:41:56.468329 | controller | TASK [run_hook : Loop on hooks for pre_kuttl _raw_params={{ hook.type }}.yml] *** 2025-11-25 08:41:56.468339 | controller | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.085) 0:01:51.169 ****** 2025-11-25 08:41:56.468347 | controller | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.085) 0:01:51.167 ****** 2025-11-25 08:41:56.468361 | controller | skipping: [localhost] 2025-11-25 08:41:56.530356 | controller | 2025-11-25 08:41:56.530393 | controller | TASK [Run kuttl tests _raw_params=run-kuttl-tests.yml] ************************* 2025-11-25 08:41:56.530401 | controller | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.094) 0:01:51.263 ****** 2025-11-25 08:41:56.530407 | controller | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.094) 0:01:51.262 ****** 2025-11-25 08:41:56.530418 | controller | included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/run-kuttl-tests.yml for localhost => (item=keystone) 2025-11-25 08:41:56.582855 | controller | 2025-11-25 08:41:56.582891 | controller | TASK [Load parameters dir={{ cifmw_basedir }}/artifacts/parameters] ************ 2025-11-25 08:41:56.582899 | controller | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.062) 0:01:51.326 ****** 2025-11-25 08:41:56.582906 | controller | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.062) 0:01:51.324 ****** 2025-11-25 08:41:56.582917 | controller | ok: [localhost] 2025-11-25 08:41:56.631245 | controller | 2025-11-25 08:41:56.631284 | controller | TASK [Use the locally built operators if any _local_operators_indexes={{ _local_operators_indexes|default({}) | combine({ item.key.split('-')[0]|upper+'_IMG': cifmw_operator_build_output['operators'][item.key].image_catalog}) }}] *** 2025-11-25 08:41:56.631292 | controller | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.052) 0:01:51.378 ****** 2025-11-25 08:41:56.631299 | controller | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.052) 0:01:51.376 ****** 2025-11-25 08:41:56.631311 | controller | ok: [localhost] => (item={'key': 'keystone-operator', 'value': {'git_commit_hash': '99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a', 'git_src_dir': '/home/zuul/src/github.com/openstack-k8s-operators/keystone-operator', 'image': '38.129.56.231:5001/openstack-k8s-operators/keystone-operator:99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a', 'image_bundle': '38.129.56.231:5001/openstack-k8s-operators/keystone-operator-bundle:99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a', 'image_catalog': '38.129.56.231:5001/openstack-k8s-operators/keystone-operator-index:99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a'}}) 2025-11-25 08:41:56.657181 | controller | ok: [localhost] => (item={'key': 'openstack-operator', 'value': {'git_commit_hash': '17b1faec894dfcad58164b52f38cf6acda76f9dc', 'git_src_dir': '~/src/github.com/openstack-k8s-operators/openstack-operator', 'image': '38.129.56.231:5001/openstack-k8s-operators/openstack-operator:17b1faec894dfcad58164b52f38cf6acda76f9dc', 'image_bundle': '38.129.56.231:5001/openstack-k8s-operators/openstack-operator-bundle:17b1faec894dfcad58164b52f38cf6acda76f9dc', 'image_catalog': '38.129.56.231:5001/openstack-k8s-operators/openstack-operator-index:17b1faec894dfcad58164b52f38cf6acda76f9dc'}}) 2025-11-25 08:41:56.657216 | controller | 2025-11-25 08:41:56.657224 | controller | TASK [Set environment vars for kuttl test cifmw_kuttl_tests_env={{ 2025-11-25 08:41:56.657231 | controller | _local_operators_indexes | default({}) | 2025-11-25 08:41:56.657237 | controller | combine(cifmw_install_yamls_environment) | 2025-11-25 08:41:56.657243 | controller | combine(cifmw_kuttl_tests_env_vars | default({})) | 2025-11-25 08:41:56.657250 | controller | combine(cifmw_kuttl_openstack_prep_vars | default({})) | 2025-11-25 08:41:56.657256 | controller | combine({'PATH': cifmw_path}) 2025-11-25 08:41:56.657262 | controller | }}] *** 2025-11-25 08:41:56.657268 | controller | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.048) 0:01:51.427 ****** 2025-11-25 08:41:56.657277 | controller | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.048) 0:01:51.425 ****** 2025-11-25 08:41:56.657288 | controller | ok: [localhost] 2025-11-25 08:41:56.693880 | controller | 2025-11-25 08:41:56.693916 | controller | TASK [Clean storage beforehand name=ci_local_storage, tasks_from=cleanup.yml] *** 2025-11-25 08:41:56.693924 | controller | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.025) 0:01:51.452 ****** 2025-11-25 08:41:56.693931 | controller | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.025) 0:01:51.451 ****** 2025-11-25 08:41:56.693942 | controller | 2025-11-25 08:41:57.395172 | controller | TASK [ci_local_storage : Get all pvs kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, kind=PersistentVolume, label_selectors=['provisioned-by={{ cifmw_cls_storage_provisioner }}']] *** 2025-11-25 08:41:57.395237 | controller | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.036) 0:01:51.489 ****** 2025-11-25 08:41:57.395248 | controller | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.036) 0:01:51.487 ****** 2025-11-25 08:41:57.395265 | controller | ok: [localhost] 2025-11-25 08:41:57.424863 | controller | 2025-11-25 08:41:57.424914 | controller | TASK [ci_local_storage : Export PVs as facts cifmw_cls_pvs={{ _pv_info.resources | 2025-11-25 08:41:57.424922 | controller | selectattr("metadata.name", "defined") | 2025-11-25 08:41:57.424928 | controller | map(attribute="metadata.name") 2025-11-25 08:41:57.424934 | controller | }}] *** 2025-11-25 08:41:57.424941 | controller | Tuesday 25 November 2025 08:41:57 +0000 (0:00:00.701) 0:01:52.190 ****** 2025-11-25 08:41:57.424947 | controller | Tuesday 25 November 2025 08:41:57 +0000 (0:00:00.701) 0:01:52.188 ****** 2025-11-25 08:41:57.424960 | controller | ok: [localhost] 2025-11-25 08:41:57.447018 | controller | 2025-11-25 08:41:57.447066 | controller | TASK [ci_local_storage : Delete all pvs kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, kind=PersistentVolume, state=absent, api_version=v1, namespace={{ cifmw_cls_namespace }}, name={{ item }}] *** 2025-11-25 08:41:57.447075 | controller | Tuesday 25 November 2025 08:41:57 +0000 (0:00:00.029) 0:01:52.220 ****** 2025-11-25 08:41:57.447082 | controller | Tuesday 25 November 2025 08:41:57 +0000 (0:00:00.029) 0:01:52.218 ****** 2025-11-25 08:41:57.447094 | controller | skipping: [localhost] 2025-11-25 08:41:58.227144 | controller | 2025-11-25 08:41:58.227179 | controller | TASK [ci_local_storage : Get k8s nodes kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, kind=Node] *** 2025-11-25 08:41:58.227187 | controller | Tuesday 25 November 2025 08:41:57 +0000 (0:00:00.022) 0:01:52.242 ****** 2025-11-25 08:41:58.227200 | controller | Tuesday 25 November 2025 08:41:57 +0000 (0:00:00.022) 0:01:52.240 ****** 2025-11-25 08:41:58.227210 | controller | ok: [localhost] 2025-11-25 08:41:59.812488 | controller | 2025-11-25 08:41:59.812521 | controller | TASK [ci_local_storage : Fetch hostnames for all hosts _raw_params=hostname] *** 2025-11-25 08:41:59.812530 | controller | Tuesday 25 November 2025 08:41:58 +0000 (0:00:00.780) 0:01:53.022 ****** 2025-11-25 08:41:59.812536 | controller | Tuesday 25 November 2025 08:41:58 +0000 (0:00:00.780) 0:01:53.021 ****** 2025-11-25 08:41:59.812547 | controller | [WARNING]: Platform linux on host localhost is using the discovered Python 2025-11-25 08:41:59.831014 | controller | interpreter at /usr/bin/python3.9, but future installation of another Python 2025-11-25 08:41:59.831048 | controller | interpreter could change the meaning of that path. See 2025-11-25 08:41:59.831059 | controller | https://docs.ansible.com/ansible- 2025-11-25 08:41:59.831067 | controller | core/2.15/reference_appendices/interpreter_discovery.html for more information. 2025-11-25 08:41:59.831081 | controller | changed: [localhost -> crc(38.102.83.222)] => (item=crc) 2025-11-25 08:41:59.877749 | controller | changed: [localhost -> controller(38.102.83.98)] => (item=controller) 2025-11-25 08:41:59.877782 | controller | changed: [localhost] => (item=localhost) 2025-11-25 08:41:59.877789 | controller | 2025-11-25 08:41:59.877796 | controller | TASK [ci_local_storage : Set the hosts k8s ansible hosts cifmw_ci_local_storage_k8s_hosts={{ 2025-11-25 08:41:59.877803 | controller | _host_map | 2025-11-25 08:41:59.877809 | controller | selectattr("key", "in", k8s_nodes_hostnames) | 2025-11-25 08:41:59.877815 | controller | map(attribute="value") | 2025-11-25 08:41:59.877822 | controller | list 2025-11-25 08:41:59.877828 | controller | }}, cifmw_ci_local_storage_k8s_hostnames={{ k8s_nodes_hostnames }}] *** 2025-11-25 08:41:59.877834 | controller | Tuesday 25 November 2025 08:41:59 +0000 (0:00:01.603) 0:01:54.626 ****** 2025-11-25 08:41:59.877840 | controller | Tuesday 25 November 2025 08:41:59 +0000 (0:00:01.603) 0:01:54.624 ****** 2025-11-25 08:41:59.877851 | controller | ok: [localhost] 2025-11-25 08:41:59.912683 | controller | 2025-11-25 08:41:59.912720 | controller | TASK [ci_local_storage : Delete directories on worker node _raw_params=worker_node_dirs.yml] *** 2025-11-25 08:41:59.912728 | controller | Tuesday 25 November 2025 08:41:59 +0000 (0:00:00.047) 0:01:54.673 ****** 2025-11-25 08:41:59.912734 | controller | Tuesday 25 November 2025 08:41:59 +0000 (0:00:00.047) 0:01:54.671 ****** 2025-11-25 08:41:59.912745 | controller | included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_local_storage/tasks/worker_node_dirs.yml for localhost => (item=crc) 2025-11-25 08:42:05.950868 | controller | 2025-11-25 08:42:05.950928 | controller | TASK [ci_local_storage : Perform action in the PV directory path={{ 2025-11-25 08:42:05.950945 | controller | [ 2025-11-25 08:42:05.950959 | controller | cifmw_cls_local_storage_name, 2025-11-25 08:42:05.950973 | controller | 'pv'+ ("%02d" | format(item | int)) 2025-11-25 08:42:05.950994 | controller | ] | path_join 2025-11-25 08:42:05.951008 | controller | }}, state={{ 2025-11-25 08:42:05.951022 | controller | 'directory' if cifmw_cls_action == 'create' else 'absent' 2025-11-25 08:42:05.951036 | controller | }}, mode=0775] *** 2025-11-25 08:42:05.951049 | controller | Tuesday 25 November 2025 08:41:59 +0000 (0:00:00.034) 0:01:54.708 ****** 2025-11-25 08:42:05.951063 | controller | Tuesday 25 November 2025 08:41:59 +0000 (0:00:00.034) 0:01:54.706 ****** 2025-11-25 08:42:05.951086 | controller | ok: [localhost -> crc(38.102.83.222)] => (item=1) 2025-11-25 08:42:16.830422 | controller | ok: [localhost -> crc(38.102.83.222)] => (item=2) 2025-11-25 08:42:16.830480 | controller | ok: [localhost -> crc(38.102.83.222)] => (item=3) 2025-11-25 08:42:16.830491 | controller | ok: [localhost -> crc(38.102.83.222)] => (item=4) 2025-11-25 08:42:16.830500 | controller | ok: [localhost -> crc(38.102.83.222)] => (item=5) 2025-11-25 08:42:16.830508 | controller | ok: [localhost -> crc(38.102.83.222)] => (item=6) 2025-11-25 08:42:16.830517 | controller | ok: [localhost -> crc(38.102.83.222)] => (item=7) 2025-11-25 08:42:16.830525 | controller | ok: [localhost -> crc(38.102.83.222)] => (item=8) 2025-11-25 08:42:16.830533 | controller | ok: [localhost -> crc(38.102.83.222)] => (item=9) 2025-11-25 08:42:16.830541 | controller | ok: [localhost -> crc(38.102.83.222)] => (item=10) 2025-11-25 08:42:16.830557 | controller | ok: [localhost -> crc(38.102.83.222)] => (item=11) 2025-11-25 08:42:16.830565 | controller | ok: [localhost -> crc(38.102.83.222)] => (item=12) 2025-11-25 08:42:16.830573 | controller | 2025-11-25 08:42:16.830582 | controller | TASK [ci_local_storage : Remove the cifmw_cls_namespace namespace state=absent, kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, kind=Namespace, name={{ cifmw_cls_namespace }}, wait=True, wait_timeout=300] *** 2025-11-25 08:42:16.830591 | controller | Tuesday 25 November 2025 08:42:05 +0000 (0:00:06.037) 0:02:00.745 ****** 2025-11-25 08:42:16.830600 | controller | Tuesday 25 November 2025 08:42:05 +0000 (0:00:06.037) 0:02:00.744 ****** 2025-11-25 08:42:16.830615 | controller | changed: [localhost] 2025-11-25 08:42:16.891188 | controller | 2025-11-25 08:42:16.891223 | controller | TASK [Create storage name=ci_local_storage] ************************************ 2025-11-25 08:42:16.891231 | controller | Tuesday 25 November 2025 08:42:16 +0000 (0:00:10.879) 0:02:11.625 ****** 2025-11-25 08:42:16.891237 | controller | Tuesday 25 November 2025 08:42:16 +0000 (0:00:10.879) 0:02:11.623 ****** 2025-11-25 08:42:16.891247 | controller | 2025-11-25 08:42:17.146712 | controller | TASK [ci_local_storage : Create role needed directories path={{ cifmw_cls_manifests_dir }}, state=directory, mode=0755] *** 2025-11-25 08:42:17.146766 | controller | Tuesday 25 November 2025 08:42:16 +0000 (0:00:00.061) 0:02:11.686 ****** 2025-11-25 08:42:17.146778 | controller | Tuesday 25 November 2025 08:42:16 +0000 (0:00:00.061) 0:02:11.685 ****** 2025-11-25 08:42:17.146794 | controller | changed: [localhost] 2025-11-25 08:42:17.878200 | controller | 2025-11-25 08:42:17.878260 | controller | TASK [ci_local_storage : Create the cifmw_cls_namespace namespace" kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit) }}, name={{ cifmw_cls_namespace }}, kind=Namespace, state=present] *** 2025-11-25 08:42:17.878268 | controller | Tuesday 25 November 2025 08:42:17 +0000 (0:00:00.255) 0:02:11.942 ****** 2025-11-25 08:42:17.878279 | controller | Tuesday 25 November 2025 08:42:17 +0000 (0:00:00.255) 0:02:11.940 ****** 2025-11-25 08:42:17.878294 | controller | changed: [localhost] 2025-11-25 08:42:18.270341 | controller | 2025-11-25 08:42:18.270387 | controller | TASK [ci_local_storage : Save storage manifests as artifacts dest={{ cifmw_cls_manifests_dir }}/storage-class.yaml, content={{ cifmw_cls_storage_manifest | to_nice_yaml }}, mode=0644] *** 2025-11-25 08:42:18.270396 | controller | Tuesday 25 November 2025 08:42:17 +0000 (0:00:00.730) 0:02:12.673 ****** 2025-11-25 08:42:18.270403 | controller | Tuesday 25 November 2025 08:42:17 +0000 (0:00:00.730) 0:02:12.671 ****** 2025-11-25 08:42:18.270415 | controller | changed: [localhost] 2025-11-25 08:42:19.031189 | controller | 2025-11-25 08:42:19.031227 | controller | TASK [ci_local_storage : Get k8s nodes kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, kind=Node] *** 2025-11-25 08:42:19.031235 | controller | Tuesday 25 November 2025 08:42:18 +0000 (0:00:00.392) 0:02:13.066 ****** 2025-11-25 08:42:19.031241 | controller | Tuesday 25 November 2025 08:42:18 +0000 (0:00:00.392) 0:02:13.064 ****** 2025-11-25 08:42:19.031252 | controller | ok: [localhost] 2025-11-25 08:42:20.014424 | controller | 2025-11-25 08:42:20.014489 | controller | TASK [ci_local_storage : Fetch hostnames for all hosts _raw_params=hostname] *** 2025-11-25 08:42:20.014507 | controller | Tuesday 25 November 2025 08:42:19 +0000 (0:00:00.760) 0:02:13.826 ****** 2025-11-25 08:42:20.014521 | controller | Tuesday 25 November 2025 08:42:19 +0000 (0:00:00.760) 0:02:13.825 ****** 2025-11-25 08:42:20.014546 | controller | changed: [localhost -> crc(38.102.83.222)] => (item=crc) 2025-11-25 08:42:20.065944 | controller | changed: [localhost -> controller(38.102.83.98)] => (item=controller) 2025-11-25 08:42:20.066003 | controller | changed: [localhost] => (item=localhost) 2025-11-25 08:42:20.066021 | controller | 2025-11-25 08:42:20.066037 | controller | TASK [ci_local_storage : Set the hosts k8s ansible hosts cifmw_ci_local_storage_k8s_hosts={{ 2025-11-25 08:42:20.066052 | controller | _host_map | 2025-11-25 08:42:20.066077 | controller | selectattr("key", "in", k8s_nodes_hostnames) | 2025-11-25 08:42:20.066092 | controller | map(attribute="value") | 2025-11-25 08:42:20.066176 | controller | list 2025-11-25 08:42:20.066191 | controller | }}, cifmw_ci_local_storage_k8s_hostnames={{ k8s_nodes_hostnames }}] *** 2025-11-25 08:42:20.066206 | controller | Tuesday 25 November 2025 08:42:20 +0000 (0:00:00.982) 0:02:14.809 ****** 2025-11-25 08:42:20.066221 | controller | Tuesday 25 November 2025 08:42:20 +0000 (0:00:00.982) 0:02:14.807 ****** 2025-11-25 08:42:20.066245 | controller | ok: [localhost] 2025-11-25 08:42:20.761860 | controller | 2025-11-25 08:42:20.761942 | controller | TASK [ci_local_storage : Apply the storage class manifests kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit) }}, context={{ cifmw_openshift_context | default(omit) }}, state=present, src={{ cifmw_cls_manifests_dir }}/storage-class.yaml] *** 2025-11-25 08:42:20.761957 | controller | Tuesday 25 November 2025 08:42:20 +0000 (0:00:00.051) 0:02:14.860 ****** 2025-11-25 08:42:20.761969 | controller | Tuesday 25 November 2025 08:42:20 +0000 (0:00:00.051) 0:02:14.859 ****** 2025-11-25 08:42:20.761992 | controller | changed: [localhost] 2025-11-25 08:42:20.799884 | controller | 2025-11-25 08:42:20.799964 | controller | TASK [ci_local_storage : Create directories on worker node _raw_params=worker_node_dirs.yml] *** 2025-11-25 08:42:20.799978 | controller | Tuesday 25 November 2025 08:42:20 +0000 (0:00:00.696) 0:02:15.557 ****** 2025-11-25 08:42:20.799991 | controller | Tuesday 25 November 2025 08:42:20 +0000 (0:00:00.696) 0:02:15.555 ****** 2025-11-25 08:42:20.800017 | controller | included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_local_storage/tasks/worker_node_dirs.yml for localhost => (item=crc) 2025-11-25 08:42:26.714502 | controller | 2025-11-25 08:42:26.714579 | controller | TASK [ci_local_storage : Perform action in the PV directory path={{ 2025-11-25 08:42:26.714588 | controller | [ 2025-11-25 08:42:26.714596 | controller | cifmw_cls_local_storage_name, 2025-11-25 08:42:26.714604 | controller | 'pv'+ ("%02d" | format(item | int)) 2025-11-25 08:42:26.714612 | controller | ] | path_join 2025-11-25 08:42:26.714619 | controller | }}, state={{ 2025-11-25 08:42:26.714627 | controller | 'directory' if cifmw_cls_action == 'create' else 'absent' 2025-11-25 08:42:26.714634 | controller | }}, mode=0775] *** 2025-11-25 08:42:26.714642 | controller | Tuesday 25 November 2025 08:42:20 +0000 (0:00:00.037) 0:02:15.595 ****** 2025-11-25 08:42:26.714649 | controller | Tuesday 25 November 2025 08:42:20 +0000 (0:00:00.037) 0:02:15.593 ****** 2025-11-25 08:42:26.714671 | controller | changed: [localhost -> crc(38.102.83.222)] => (item=1) 2025-11-25 08:42:27.193988 | controller | changed: [localhost -> crc(38.102.83.222)] => (item=2) 2025-11-25 08:42:27.194032 | controller | changed: [localhost -> crc(38.102.83.222)] => (item=3) 2025-11-25 08:42:27.194039 | controller | changed: [localhost -> crc(38.102.83.222)] => (item=4) 2025-11-25 08:42:27.194045 | controller | changed: [localhost -> crc(38.102.83.222)] => (item=5) 2025-11-25 08:42:27.194051 | controller | changed: [localhost -> crc(38.102.83.222)] => (item=6) 2025-11-25 08:42:27.194057 | controller | changed: [localhost -> crc(38.102.83.222)] => (item=7) 2025-11-25 08:42:27.194066 | controller | changed: [localhost -> crc(38.102.83.222)] => (item=8) 2025-11-25 08:42:27.194073 | controller | changed: [localhost -> crc(38.102.83.222)] => (item=9) 2025-11-25 08:42:27.194078 | controller | changed: [localhost -> crc(38.102.83.222)] => (item=10) 2025-11-25 08:42:27.194084 | controller | changed: [localhost -> crc(38.102.83.222)] => (item=11) 2025-11-25 08:42:27.194090 | controller | changed: [localhost -> crc(38.102.83.222)] => (item=12) 2025-11-25 08:42:27.194112 | controller | 2025-11-25 08:42:27.194122 | controller | TASK [ci_local_storage : Generate pv related storage manifest file src=storage.yaml.j2, dest={{ cifmw_cls_manifests_dir }}/storage.yaml, mode=0644] *** 2025-11-25 08:42:27.194128 | controller | Tuesday 25 November 2025 08:42:26 +0000 (0:00:05.913) 0:02:21.509 ****** 2025-11-25 08:42:27.194135 | controller | Tuesday 25 November 2025 08:42:26 +0000 (0:00:05.913) 0:02:21.507 ****** 2025-11-25 08:42:27.194148 | controller | changed: [localhost] 2025-11-25 08:42:28.046332 | controller | 2025-11-25 08:42:28.046412 | controller | TASK [ci_local_storage : Apply pv related storage manifest file kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit) }}, context={{ cifmw_openshift_context | default(omit) }}, state=present, src={{ cifmw_cls_manifests_dir }}/storage.yaml] *** 2025-11-25 08:42:28.046436 | controller | Tuesday 25 November 2025 08:42:27 +0000 (0:00:00.480) 0:02:21.989 ****** 2025-11-25 08:42:28.046446 | controller | Tuesday 25 November 2025 08:42:27 +0000 (0:00:00.480) 0:02:21.987 ****** 2025-11-25 08:42:28.046468 | controller | changed: [localhost] 2025-11-25 08:42:28.070198 | controller | 2025-11-25 08:42:28.070282 | controller | TASK [Get resource status before keystone_kuttl run _raw_params={{ item }} >> {{ cifmw_artifacts_basedir }}/logs/cmd_before_{{ operator }}_kuttl.log 2025-11-25 08:42:28.070296 | controller | ] *** 2025-11-25 08:42:28.070307 | controller | Tuesday 25 November 2025 08:42:28 +0000 (0:00:00.852) 0:02:22.841 ****** 2025-11-25 08:42:28.070318 | controller | Tuesday 25 November 2025 08:42:28 +0000 (0:00:00.852) 0:02:22.840 ****** 2025-11-25 08:42:28.070343 | controller | task path: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/run-kuttl-tests.yml:37 2025-11-25 08:42:28.101484 | controller | fatal: [localhost]: FAILED! => 2025-11-25 08:42:28.101569 | controller | msg: '''commands_before_kuttl_run'' is undefined. ''commands_before_kuttl_run'' is 2025-11-25 08:42:28.101578 | controller | undefined' 2025-11-25 08:42:28.101587 | controller | ...ignoring 2025-11-25 08:42:28.101594 | controller | 2025-11-25 08:42:28.101602 | controller | TASK [Set make_keystone_kuttl_env vars make_{{ operator }}_kuttl_env={{ cifmw_kuttl_tests_env }}] *** 2025-11-25 08:42:28.101610 | controller | Tuesday 25 November 2025 08:42:28 +0000 (0:00:00.023) 0:02:22.865 ****** 2025-11-25 08:42:28.101618 | controller | Tuesday 25 November 2025 08:42:28 +0000 (0:00:00.023) 0:02:22.863 ****** 2025-11-25 08:42:28.101637 | controller | ok: [localhost] 2025-11-25 08:42:28.160907 | controller | 2025-11-25 08:42:28.160984 | controller | TASK [Run make_keystone_kuttl name=install_yamls_makes, tasks_from=make_{{ operator }}_kuttl.yml, apply={'ignore_errors': True}] *** 2025-11-25 08:42:28.160994 | controller | Tuesday 25 November 2025 08:42:28 +0000 (0:00:00.031) 0:02:22.897 ****** 2025-11-25 08:42:28.161002 | controller | Tuesday 25 November 2025 08:42:28 +0000 (0:00:00.031) 0:02:22.895 ****** 2025-11-25 08:42:28.161022 | controller | 2025-11-25 08:42:28.194437 | controller | TASK [install_yamls_makes : Debug make_keystone_kuttl_env var=make_keystone_kuttl_env] *** 2025-11-25 08:42:28.194504 | controller | Tuesday 25 November 2025 08:42:28 +0000 (0:00:00.059) 0:02:22.956 ****** 2025-11-25 08:42:28.194517 | controller | Tuesday 25 November 2025 08:42:28 +0000 (0:00:00.059) 0:02:22.954 ****** 2025-11-25 08:42:28.194535 | controller | ok: [localhost] => 2025-11-25 08:42:28.220198 | controller | make_keystone_kuttl_env: 2025-11-25 08:42:28.220253 | controller | BMO_SETUP: false 2025-11-25 08:42:28.220261 | controller | CHECKOUT_FROM_OPENSTACK_REF: 'true' 2025-11-25 08:42:28.220268 | controller | KEYSTONE_BRANCH: '' 2025-11-25 08:42:28.220274 | controller | KEYSTONE_IMG: 38.129.56.231:5001/openstack-k8s-operators/keystone-operator-index:99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a 2025-11-25 08:42:28.220281 | controller | KEYSTONE_REPO: /home/zuul/src/github.com/openstack-k8s-operators/keystone-operator 2025-11-25 08:42:28.220287 | controller | KUBECONFIG: /home/zuul/.crc/machines/crc/kubeconfig 2025-11-25 08:42:28.220293 | controller | OPENSTACK_IMG: 38.129.56.231:5001/openstack-k8s-operators/openstack-operator-index:17b1faec894dfcad58164b52f38cf6acda76f9dc 2025-11-25 08:42:28.220299 | controller | OPENSTACK_K8S_BRANCH: main 2025-11-25 08:42:28.220305 | controller | OUT: /home/zuul/ci-framework-data/artifacts/manifests 2025-11-25 08:42:28.220311 | controller | OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm 2025-11-25 08:42:28.220317 | controller | PATH: /home/zuul/.crc/bin:/home/zuul/.crc/bin/oc:/home/zuul/bin:/home/zuul/.local/bin:/home/zuul/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin 2025-11-25 08:42:28.220324 | controller | 2025-11-25 08:42:28.220331 | controller | TASK [install_yamls_makes : Debug make_keystone_kuttl_params var=make_keystone_kuttl_params] *** 2025-11-25 08:42:28.220337 | controller | Tuesday 25 November 2025 08:42:28 +0000 (0:00:00.033) 0:02:22.990 ****** 2025-11-25 08:42:28.220343 | controller | Tuesday 25 November 2025 08:42:28 +0000 (0:00:00.033) 0:02:22.988 ****** 2025-11-25 08:42:28.220364 | controller | skipping: [localhost] 2025-11-25 08:56:04.118270 | controller | 2025-11-25 08:56:04.118358 | controller | TASK [install_yamls_makes : Run keystone_kuttl output_dir={{ cifmw_basedir|default(ansible_user_dir ~ '/ci-framework-data') }}/artifacts, chdir=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls, script=make keystone_kuttl, dry_run={{ make_keystone_kuttl_dryrun|default(false)|bool }}, extra_args={{ dict((make_keystone_kuttl_env|default({})), **(make_keystone_kuttl_params|default({}))) }}] *** 2025-11-25 08:56:04.118370 | controller | Tuesday 25 November 2025 08:42:28 +0000 (0:00:00.025) 0:02:23.015 ****** 2025-11-25 08:56:04.118379 | controller | Tuesday 25 November 2025 08:42:28 +0000 (0:00:00.025) 0:02:23.014 ****** 2025-11-25 08:56:04.118399 | controller | [WARNING]: conditional statements should not include jinja2 templating 2025-11-25 08:56:04.304716 | controller | delimiters such as {{ }} or {% %}. Found: {{ make_keystone_kuttl_until | 2025-11-25 08:56:04.304769 | controller | default(true) }} 2025-11-25 08:56:04.304784 | controller | Follow script's output here: /home/zuul/ci-framework-data/logs/ci_script_003_run_keystone.log 2025-11-25 08:56:04.304815 | controller | An exception occurred during task execution. To see the full traceback, use -vvv. The error was: NoneType: None 2025-11-25 08:56:04.304824 | controller | task path: /home/zuul/ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone_kuttl.yml:10 2025-11-25 08:56:04.304832 | controller | fatal: [localhost]: FAILED! => 2025-11-25 08:56:04.304839 | controller | attempts: 1 2025-11-25 08:56:04.304845 | controller | changed: true 2025-11-25 08:56:04.304851 | controller | msg: non-zero return code 2025-11-25 08:56:04.304857 | controller | rc: 2 2025-11-25 08:56:04.304863 | controller | stderr: '' 2025-11-25 08:56:04.304869 | controller | stderr_lines: [] 2025-11-25 08:56:04.304875 | controller | stdout: "~/src/github.com/openstack-k8s-operators/install_yamls ~/ci-framework-data/artifacts\nerror: 2025-11-25 08:56:04.304881 | controller | the server doesn't have a resource type \"openstackversion\"\nbash scripts/gen-namespace.sh\n+ 2025-11-25 08:56:04.304887 | controller | '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z keystone-kuttl-tests 2025-11-25 08:56:04.304893 | controller | ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests\n+ 2025-11-25 08:56:04.304899 | controller | '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests 2025-11-25 08:56:04.304905 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests\n+ 2025-11-25 08:56:04.304911 | controller | cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml\nnamespace/keystone-kuttl-tests 2025-11-25 08:56:04.304918 | controller | created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io 2025-11-25 08:56:04.304924 | controller | keystone-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nkeystone-kuttl-tests 2025-11-25 08:56:04.304930 | controller | \ Active\noc project keystone-kuttl-tests\nNow using project \"keystone-kuttl-tests\" 2025-11-25 08:56:04.304935 | controller | on server \"https://api.crc.testing:6443\".\nbash scripts/gen-input-kustomize.sh\n+ 2025-11-25 08:56:04.304944 | controller | OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z keystone-kuttl-tests 2025-11-25 08:56:04.304951 | controller | ']'\n+ '[' -z osp-secret ']'\n+ '[' -z 12345678 ']'\n+ '[' -z 1234567842 ']'\n+ 2025-11-25 08:56:04.304956 | controller | '[' -z 767c3ed056cbaa3b9dfedb8c6f825bf0 ']'\n+ '[' -z sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= 2025-11-25 08:56:04.304962 | controller | ']'\n+ '[' -z COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f ']'\n+ '[' -z openstack ']'\n+ '[' 2025-11-25 08:56:04.304968 | controller | -z libvirt-secret ']'\n+ DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input\n+ 2025-11-25 08:56:04.304974 | controller | '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input 2025-11-25 08:56:04.304981 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input\n+ 2025-11-25 08:56:04.305018 | controller | pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input\n~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input 2025-11-25 08:56:04.305027 | controller | ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\noc get secret/osp-secret 2025-11-25 08:56:04.305033 | controller | || oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input 2025-11-25 08:56:04.305039 | controller | | oc apply -f -\nError from server (NotFound): secrets \"osp-secret\" not found\nsecret/libvirt-secret 2025-11-25 08:56:04.305045 | controller | created\nsecret/octavia-ca-passphrase created\nsecret/osp-secret created\noc kustomize 2025-11-25 08:56:04.305051 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr 2025-11-25 08:56:04.305057 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 08:56:04.305062 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr' 2025-11-25 08:56:04.305069 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila: 2025-11-25 08:56:04.305075 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator 2025-11-25 08:56:04.305081 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr\noc 2025-11-25 08:56:04.305086 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-11-25 08:56:04.305092 | controller | database if exists manila;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-11-25 08:56:04.305119 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr 2025-11-25 08:56:04.305129 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 08:56:04.305135 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr' 2025-11-25 08:56:04.305141 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat: 2025-11-25 08:56:04.305147 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator 2025-11-25 08:56:04.305153 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr\noc 2025-11-25 08:56:04.305159 | controller | kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr 2025-11-25 08:56:04.305169 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 08:56:04.305176 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr' 2025-11-25 08:56:04.305182 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon: 2025-11-25 08:56:04.305188 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator 2025-11-25 08:56:04.305194 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr\noc 2025-11-25 08:56:04.305200 | controller | kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr 2025-11-25 08:56:04.305206 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 08:56:04.305212 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr' 2025-11-25 08:56:04.305218 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova: 2025-11-25 08:56:04.305226 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator 2025-11-25 08:56:04.305231 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr\noc 2025-11-25 08:56:04.305240 | controller | rsh openstack-galera-0 mysql -u root --password=12345678 -ss -e \"show databases 2025-11-25 08:56:04.305246 | controller | like 'nova_%';\" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12345678 2025-11-25 08:56:04.305252 | controller | -ss -e \"flush tables; drop database if exists {};\"\nError from server (NotFound): 2025-11-25 08:56:04.305258 | controller | pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr 2025-11-25 08:56:04.305268 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 08:56:04.305274 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr' 2025-11-25 08:56:04.305280 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis: 2025-11-25 08:56:04.305286 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis 2025-11-25 08:56:04.305292 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr\noc 2025-11-25 08:56:04.305298 | controller | kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr 2025-11-25 08:56:04.305305 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 08:56:04.305311 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr' 2025-11-25 08:56:04.305317 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia: 2025-11-25 08:56:04.305323 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator 2025-11-25 08:56:04.305331 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr\noc 2025-11-25 08:56:04.305337 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-11-25 08:56:04.305342 | controller | database if exists octavia;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-11-25 08:56:04.305349 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr 2025-11-25 08:56:04.305355 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 08:56:04.305361 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr' 2025-11-25 08:56:04.305367 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate: 2025-11-25 08:56:04.305372 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator 2025-11-25 08:56:04.305378 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr\noc 2025-11-25 08:56:04.305384 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-11-25 08:56:04.305390 | controller | database if exists designate;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-11-25 08:56:04.305396 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr 2025-11-25 08:56:04.305402 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 08:56:04.305408 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr' 2025-11-25 08:56:04.305417 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron: 2025-11-25 08:56:04.305423 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator 2025-11-25 08:56:04.305431 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr\noc 2025-11-25 08:56:04.305437 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-11-25 08:56:04.305443 | controller | database if exists neutron;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-11-25 08:56:04.305449 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr 2025-11-25 08:56:04.305455 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 08:56:04.305461 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr' 2025-11-25 08:56:04.305467 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn: 2025-11-25 08:56:04.305473 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator 2025-11-25 08:56:04.305479 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr\noc 2025-11-25 08:56:04.305485 | controller | kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr 2025-11-25 08:56:04.305491 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 08:56:04.305497 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr' 2025-11-25 08:56:04.305502 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic: 2025-11-25 08:56:04.305508 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator 2025-11-25 08:56:04.305514 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr\noc 2025-11-25 08:56:04.305520 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-11-25 08:56:04.305526 | controller | database if exists ironic;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-11-25 08:56:04.305532 | controller | not found\noc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush 2025-11-25 08:56:04.305538 | controller | tables; drop database if exists ironic_inspector;\" || true\nError from server (NotFound): 2025-11-25 08:56:04.305544 | controller | pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr 2025-11-25 08:56:04.305550 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 08:56:04.305555 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr' 2025-11-25 08:56:04.305561 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder: 2025-11-25 08:56:04.305567 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator 2025-11-25 08:56:04.305573 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr\noc 2025-11-25 08:56:04.305579 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-11-25 08:56:04.305585 | controller | database if exists cinder;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-11-25 08:56:04.305591 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr 2025-11-25 08:56:04.305597 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 08:56:04.305603 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr' 2025-11-25 08:56:04.305609 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance: 2025-11-25 08:56:04.305619 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator 2025-11-25 08:56:04.305625 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr\noc 2025-11-25 08:56:04.305631 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-11-25 08:56:04.305637 | controller | database if exists glance;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-11-25 08:56:04.305643 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr 2025-11-25 08:56:04.305649 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 08:56:04.305657 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr' 2025-11-25 08:56:04.305663 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement: 2025-11-25 08:56:04.305669 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator 2025-11-25 08:56:04.305675 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr\noc 2025-11-25 08:56:04.305681 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-11-25 08:56:04.305687 | controller | database if exists placement;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-11-25 08:56:04.305693 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr 2025-11-25 08:56:04.305699 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 08:56:04.305705 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr' 2025-11-25 08:56:04.305711 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift: 2025-11-25 08:56:04.305717 | controller | no such file or directory\nNo resources found\nrm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator 2025-11-25 08:56:04.305722 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr\noc 2025-11-25 08:56:04.305728 | controller | kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr 2025-11-25 08:56:04.305734 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 08:56:04.305740 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr' 2025-11-25 08:56:04.305746 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican: 2025-11-25 08:56:04.305752 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator 2025-11-25 08:56:04.305758 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr\noc 2025-11-25 08:56:04.305764 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-11-25 08:56:04.305770 | controller | database if exists barbican;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-11-25 08:56:04.305776 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-11-25 08:56:04.305782 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 08:56:04.305788 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr' 2025-11-25 08:56:04.305794 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone: 2025-11-25 08:56:04.305800 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator 2025-11-25 08:56:04.305808 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr\noc 2025-11-25 08:56:04.305814 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-11-25 08:56:04.305820 | controller | database if exists keystone;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-11-25 08:56:04.305826 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 08:56:04.305832 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 08:56:04.305837 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr' 2025-11-25 08:56:04.305843 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb: 2025-11-25 08:56:04.305849 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator 2025-11-25 08:56:04.305855 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\noc 2025-11-25 08:56:04.305861 | controller | kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr 2025-11-25 08:56:04.305867 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 08:56:04.305873 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr' 2025-11-25 08:56:04.305879 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry: 2025-11-25 08:56:04.305885 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator 2025-11-25 08:56:04.305904 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr\nrm 2025-11-25 08:56:04.305910 | controller | -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator 2025-11-25 08:56:04.305916 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr\noc 2025-11-25 08:56:04.305922 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-11-25 08:56:04.305928 | controller | database if exists aodh;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-11-25 08:56:04.305934 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 08:56:04.305940 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 08:56:04.305946 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr' 2025-11-25 08:56:04.305952 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra: 2025-11-25 08:56:04.305958 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator 2025-11-25 08:56:04.305964 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\nif 2025-11-25 08:56:04.305970 | controller | oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; 2025-11-25 08:56:04.305976 | controller | fi\nerror: the server doesn't have a resource type \"RabbitmqCluster\"\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator 2025-11-25 08:56:04.305982 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\nbash 2025-11-25 08:56:04.305989 | controller | scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests 2025-11-25 08:56:04.305995 | controller | ']'\n+ '[' -z openstack-operators ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators\n+ 2025-11-25 08:56:04.306006 | controller | '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators 2025-11-25 08:56:04.306012 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators\n+ 2025-11-25 08:56:04.306017 | controller | cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml\nWarning: 2025-11-25 08:56:04.306023 | controller | resource namespaces/openstack-operators is missing the kubectl.kubernetes.io/last-applied-configuration 2025-11-25 08:56:04.306029 | controller | annotation which is required by oc apply. oc apply should only be used on resources 2025-11-25 08:56:04.306035 | controller | created declaratively by either oc create --save-config or oc apply. The missing 2025-11-25 08:56:04.306041 | controller | annotation will be patched automatically.\nnamespace/openstack-operators configured\ntimeout 2025-11-25 08:56:04.306047 | controller | 500s bash -c \"while ! (oc get project.v1.project.openshift.io openstack-operators); 2025-11-25 08:56:04.306053 | controller | do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nopenstack-operators 2025-11-25 08:56:04.306059 | controller | \ Active\noc project openstack-operators\nNow using project \"openstack-operators\" 2025-11-25 08:56:04.306064 | controller | on server \"https://api.crc.testing:6443\".\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators 2025-11-25 08:56:04.306070 | controller | ']'\n+ '[' -z mariadb ']'\n+ '[' -z quay.io/openstack-k8s-operators/mariadb-operator-index:latest 2025-11-25 08:56:04.306076 | controller | ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-11-25 08:56:04.306082 | controller | ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-11-25 08:56:04.306088 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\n+ 2025-11-25 08:56:04.306098 | controller | OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=mariadb-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ 2025-11-25 08:56:04.306119 | controller | echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\nOPERATOR_DIR 2025-11-25 08:56:04.306125 | controller | /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\n+ 2025-11-25 08:56:04.306131 | controller | echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE mariadb-operator-index\nOPERATOR_SOURCE 2025-11-25 08:56:04.306137 | controller | mariadb-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE 2025-11-25 08:56:04.306143 | controller | openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\ncatalogsource.operators.coreos.com/mariadb-operator-index 2025-11-25 08:56:04.306151 | controller | created\noperatorgroup.operators.coreos.com/openstack created\nsubscription.operators.coreos.com/mariadb-operator 2025-11-25 08:56:04.306162 | controller | created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-11-25 08:56:04.306168 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\nbash 2025-11-25 08:56:04.306174 | controller | scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/openstack-operator.git 2025-11-25 08:56:04.306180 | controller | openstack-operator\nCloning into 'openstack-operator'...\nCloning repo: git clone 2025-11-25 08:56:04.306186 | controller | \ -b main https://github.com/openstack-k8s-operators/mariadb-operator.git mariadb-operator\nCloning 2025-11-25 08:56:04.306192 | controller | into 'mariadb-operator'...\nRunning checkout: git checkout 231c653930d1\nNote: switching 2025-11-25 08:56:04.306198 | controller | to '231c653930d1'.\n\nYou are in 'detached HEAD' state. You can look around, make 2025-11-25 08:56:04.306204 | controller | experimental\nchanges and commit them, and you can discard any commits you make 2025-11-25 08:56:04.306213 | controller | in this\nstate without impacting any branches by switching back to a branch.\n\nIf 2025-11-25 08:56:04.306219 | controller | you want to create a new branch to retain commits you create, you may\ndo so (now 2025-11-25 08:56:04.306225 | controller | or later) by using -c with the switch command. Example:\n\n git switch -c \n\nOr 2025-11-25 08:56:04.306231 | controller | undo this operation with:\n\n git switch -\n\nTurn off this advice by setting config 2025-11-25 08:56:04.306236 | controller | variable advice.detachedHead to false\n\nHEAD is now at 231c653 Merge pull request 2025-11-25 08:56:04.306242 | controller | #379 from dciabrin/pwd-wsrep-notify\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml 2025-11-25 08:56:04.306248 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\nbash 2025-11-25 08:56:04.306254 | controller | scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ 2025-11-25 08:56:04.306260 | controller | cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ 2025-11-25 08:56:04.306266 | controller | . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh 2025-11-25 08:56:04.306272 | controller | --source-only\n++ set -e\n+ '[' -z keystone-kuttl-tests ']'\n+ '[' -z Galera ']'\n+ 2025-11-25 08:56:04.306278 | controller | '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 08:56:04.306284 | controller | ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ 2025-11-25 08:56:04.306289 | controller | STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' 2025-11-25 08:56:04.306295 | controller | '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 08:56:04.306301 | controller | ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\n~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 08:56:04.306307 | controller | ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e 2025-11-25 08:56:04.306314 | controller | ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 2025-11-25 08:56:04.306321 | controller | ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ 2025-11-25 08:56:04.306328 | controller | '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' Galera 2025-11-25 08:56:04.306334 | controller | == OpenStackControlPlane ']'\n+ '[' Galera == Galera ']'\n+ cat\n+ '[' Galera == 2025-11-25 08:56:04.306342 | controller | NetConfig ']'\n+ '[' -n '' ']'\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e 2025-11-25 08:56:04.306348 | controller | ]]\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e 2025-11-25 08:56:04.306354 | controller | ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge 2025-11-25 08:56:04.306360 | controller | config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./mariadb_v1beta1_galera.yaml\n+ 2025-11-25 08:56:04.306367 | controller | for y in ${yamls[@]}\n+ kustomize edit add resource ./mariadb_v1beta1_galera.yaml\n+ 2025-11-25 08:56:04.306373 | controller | popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: 2025-11-25 08:56:04.306379 | controller | Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: 2025-11-25 08:56:04.306385 | controller | the server doesn't have a resource type \"openstackversion\"\nbash scripts/operator-wait.sh\n+ 2025-11-25 08:56:04.306391 | controller | TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ 2025-11-25 08:56:04.306397 | controller | SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ 2025-11-25 08:56:04.306403 | controller | '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq ']'\n+ 2025-11-25 08:56:04.306414 | controller | pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 08:56:04.306420 | controller | ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until 2025-11-25 08:56:04.306426 | controller | [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ 2025-11-25 08:56:04.306432 | controller | '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster 2025-11-25 08:56:04.306438 | controller | ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators 2025-11-25 08:56:04.306443 | controller | deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError 2025-11-25 08:56:04.306449 | controller | from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" 2025-11-25 08:56:04.306455 | controller | not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-11-25 08:56:04.306461 | controller | ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ 2025-11-25 08:56:04.306467 | controller | oc get -n openstack-operators deployment mariadb-operator-controller-manager -o 2025-11-25 08:56:04.306473 | controller | json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 08:56:04.306479 | controller | \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-11-25 08:56:04.306485 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb 2025-11-25 08:56:04.306491 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get 2025-11-25 08:56:04.306496 | controller | -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ 2025-11-25 08:56:04.306502 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 08:56:04.306508 | controller | \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-11-25 08:56:04.306514 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb 2025-11-25 08:56:04.306520 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get 2025-11-25 08:56:04.306526 | controller | -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ 2025-11-25 08:56:04.306531 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 08:56:04.306537 | controller | \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-11-25 08:56:04.306543 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb 2025-11-25 08:56:04.306549 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ jq -e 2025-11-25 08:56:04.306555 | controller | .status.availableReplicas\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-11-25 08:56:04.306561 | controller | -o json\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" 2025-11-25 08:56:04.306567 | controller | not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-11-25 08:56:04.306573 | controller | ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ 2025-11-25 08:56:04.306578 | controller | oc get -n openstack-operators deployment mariadb-operator-controller-manager -o 2025-11-25 08:56:04.306584 | controller | json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 08:56:04.306590 | controller | \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-11-25 08:56:04.306596 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb 2025-11-25 08:56:04.306603 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get 2025-11-25 08:56:04.306612 | controller | -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ 2025-11-25 08:56:04.306618 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 08:56:04.306624 | controller | \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-11-25 08:56:04.306629 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb 2025-11-25 08:56:04.306635 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get 2025-11-25 08:56:04.306641 | controller | -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ 2025-11-25 08:56:04.306647 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 08:56:04.306653 | controller | \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-11-25 08:56:04.306659 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb 2025-11-25 08:56:04.306665 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get 2025-11-25 08:56:04.306671 | controller | -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ 2025-11-25 08:56:04.306676 | controller | jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 2025-11-25 08:56:04.306685 | controller | 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster 2025-11-25 08:56:04.306691 | controller | ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators 2025-11-25 08:56:04.306697 | controller | deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ 2025-11-25 08:56:04.306703 | controller | REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ 2025-11-25 08:56:04.306709 | controller | '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ 2025-11-25 08:56:04.306715 | controller | oc get -n openstack-operators deployment mariadb-operator-controller-manager -o 2025-11-25 08:56:04.306721 | controller | json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo 2025-11-25 08:56:04.306727 | controller | Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ 2025-11-25 08:56:04.306733 | controller | exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash 2025-11-25 08:56:04.306738 | controller | scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 08:56:04.306744 | controller | ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\n+ 2025-11-25 08:56:04.306750 | controller | oc apply -f -\ngalera.mariadb.openstack.org/openstack created\n+ '[' 0 -lt 15 ']'\nbash 2025-11-25 08:56:04.306756 | controller | scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests 2025-11-25 08:56:04.306762 | controller | ']'\n+ '[' -z metallb-system ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/metallb-system\n+ 2025-11-25 08:56:04.306768 | controller | '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system ']'\n+ 2025-11-25 08:56:04.306775 | controller | mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system\n+ cat\noc 2025-11-25 08:56:04.306781 | controller | apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml\nnamespace/metallb-system 2025-11-25 08:56:04.306787 | controller | created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io 2025-11-25 08:56:04.306793 | controller | metallb-system); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nmetallb-system 2025-11-25 08:56:04.306799 | controller | \ Active\nbash scripts/gen-olm-metallb.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op 2025-11-25 08:56:04.306811 | controller | ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op 2025-11-25 08:56:04.306817 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\n+ 2025-11-25 08:56:04.306823 | controller | '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr 2025-11-25 08:56:04.306828 | controller | ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr 2025-11-25 08:56:04.306834 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\n+ 2025-11-25 08:56:04.306840 | controller | echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\nOPERATOR_DIR 2025-11-25 08:56:04.306846 | controller | /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\n+ 2025-11-25 08:56:04.306852 | controller | echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\nDEPLOY_DIR 2025-11-25 08:56:04.306858 | controller | /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\n+ echo 2025-11-25 08:56:04.306864 | controller | INTERFACE\nINTERFACE\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\noperatorgroup.operators.coreos.com/metallb-operator 2025-11-25 08:56:04.306870 | controller | created\nsubscription.operators.coreos.com/metallb-operator-sub created\ntimeout 2025-11-25 08:56:04.306876 | controller | 500s bash -c \"while ! (oc get pod --no-headers=true -l control-plane=controller-manager 2025-11-25 08:56:04.306882 | controller | -n metallb-system| grep metallb-operator-controller); do sleep 10; done\"\nNo resources 2025-11-25 08:56:04.306888 | controller | found in metallb-system namespace.\nNo resources found in metallb-system namespace.\nmetallb-operator-controller-manager-699596c7b8-klfq4 2025-11-25 08:56:04.306894 | controller | \ 0/1 ContainerCreating 0 1s\noc wait pod -n metallb-system --for condition=Ready 2025-11-25 08:56:04.306900 | controller | -l control-plane=controller-manager --timeout=500s\npod/metallb-operator-controller-manager-699596c7b8-klfq4 2025-11-25 08:56:04.306906 | controller | condition met\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=webhook-server 2025-11-25 08:56:04.306912 | controller | -n metallb-system| grep metallb-operator-webhook); do sleep 10; done\"\nmetallb-operator-webhook-server-6f5466444-dd94g 2025-11-25 08:56:04.306921 | controller | \ 1/1 Running 0 40s\noc wait pod -n metallb-system --for condition=Ready 2025-11-25 08:56:04.306927 | controller | -l component=webhook-server --timeout=500s\npod/metallb-operator-webhook-server-6f5466444-dd94g 2025-11-25 08:56:04.306932 | controller | condition met\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml\nmetallb.metallb.io/metallb 2025-11-25 08:56:04.306938 | controller | created\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=speaker 2025-11-25 08:56:04.306944 | controller | -n metallb-system | grep speaker); do sleep 10; done\"\nNo resources found in metallb-system 2025-11-25 08:56:04.306950 | controller | namespace.\nspeaker-9hh4f 1/2 Running 0 10s\noc wait pod -n metallb-system 2025-11-25 08:56:04.306956 | controller | -l component=speaker --for condition=Ready --timeout=500s\npod/speaker-9hh4f condition 2025-11-25 08:56:04.306963 | controller | met\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ 2025-11-25 08:56:04.306969 | controller | '[' -z quay.io/openstack-k8s-operators/infra-operator-index:latest ']'\n+ '[' -z 2025-11-25 08:56:04.306975 | controller | /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']'\n+ 2025-11-25 08:56:04.306981 | controller | '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-11-25 08:56:04.306987 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\n+ 2025-11-25 08:56:04.306995 | controller | OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=infra-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ 2025-11-25 08:56:04.307001 | controller | echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\nOPERATOR_DIR 2025-11-25 08:56:04.307009 | controller | /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\n+ 2025-11-25 08:56:04.307043 | controller | echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE infra-operator-index\nOPERATOR_SOURCE 2025-11-25 08:56:04.307051 | controller | infra-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE 2025-11-25 08:56:04.307057 | controller | openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\ncatalogsource.operators.coreos.com/infra-operator-index 2025-11-25 08:56:04.307063 | controller | created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/infra-operator 2025-11-25 08:56:04.307069 | controller | created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-11-25 08:56:04.307075 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\nbash 2025-11-25 08:56:04.307081 | controller | scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/infra-operator.git 2025-11-25 08:56:04.307087 | controller | infra-operator\nCloning into 'infra-operator'...\nRunning checkout: git checkout 2025-11-25 08:56:04.307093 | controller | 038f0cf579da\nNote: switching to '038f0cf579da'.\n\nYou are in 'detached HEAD' state. 2025-11-25 08:56:04.307114 | controller | You can look around, make experimental\nchanges and commit them, and you can discard 2025-11-25 08:56:04.307124 | controller | any commits you make in this\nstate without impacting any branches by switching 2025-11-25 08:56:04.307130 | controller | back to a branch.\n\nIf you want to create a new branch to retain commits you create, 2025-11-25 08:56:04.307136 | controller | you may\ndo so (now or later) by using -c with the switch command. Example:\n\n 2025-11-25 08:56:04.307142 | controller | \ git switch -c \n\nOr undo this operation with:\n\n git switch 2025-11-25 08:56:04.307148 | controller | -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD 2025-11-25 08:56:04.307154 | controller | is now at 038f0cf Merge pull request #498 from stuggi/pin_baseimage\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml 2025-11-25 08:56:04.307160 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\nbash 2025-11-25 08:56:04.307166 | controller | scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ 2025-11-25 08:56:04.307172 | controller | cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ 2025-11-25 08:56:04.307178 | controller | . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh 2025-11-25 08:56:04.307184 | controller | --source-only\n++ set -e\n+ '[' -z keystone-kuttl-tests ']'\n+ '[' -z Memcached 2025-11-25 08:56:04.307190 | controller | ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 08:56:04.307196 | controller | ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ 2025-11-25 08:56:04.307202 | controller | STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' 2025-11-25 08:56:04.307216 | controller | '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 08:56:04.307222 | controller | ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\n~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 08:56:04.307228 | controller | ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Memcached == 2025-11-25 08:56:04.307238 | controller | \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read 2025-11-25 08:56:04.307244 | controller | -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ 2025-11-25 08:56:04.307250 | controller | (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' 2025-11-25 08:56:04.307255 | controller | unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n memcached ']'\n+ cat\n+ '[' Memcached 2025-11-25 08:56:04.307261 | controller | == OpenStackControlPlane ']'\n+ '[' Memcached == Galera ']'\n+ '[' Memcached == 2025-11-25 08:56:04.307267 | controller | NetConfig ']'\n+ '[' -n '' ']'\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e 2025-11-25 08:56:04.307273 | controller | ]]\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e 2025-11-25 08:56:04.307279 | controller | ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge 2025-11-25 08:56:04.307285 | controller | config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./memcached_v1beta1_memcached.yaml\n+ 2025-11-25 08:56:04.307291 | controller | for y in ${yamls[@]}\n+ kustomize edit add resource ./memcached_v1beta1_memcached.yaml\n+ 2025-11-25 08:56:04.307296 | controller | popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: 2025-11-25 08:56:04.307303 | controller | Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: 2025-11-25 08:56:04.307309 | controller | the server doesn't have a resource type \"openstackversion\"\nbash scripts/operator-wait.sh\n+ 2025-11-25 08:56:04.307314 | controller | TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ 2025-11-25 08:56:04.307320 | controller | SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ 2025-11-25 08:56:04.307328 | controller | '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq ']'\n+ 2025-11-25 08:56:04.307334 | controller | pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 08:56:04.307340 | controller | ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until 2025-11-25 08:56:04.307346 | controller | [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ 2025-11-25 08:56:04.307352 | controller | '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster 2025-11-25 08:56:04.307358 | controller | ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators 2025-11-25 08:56:04.307365 | controller | deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError 2025-11-25 08:56:04.307371 | controller | from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not 2025-11-25 08:56:04.307377 | controller | found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-11-25 08:56:04.307383 | controller | ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ 2025-11-25 08:56:04.307389 | controller | oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ 2025-11-25 08:56:04.307395 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 08:56:04.307401 | controller | \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ 2025-11-25 08:56:04.307407 | controller | exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster 2025-11-25 08:56:04.307412 | controller | ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators 2025-11-25 08:56:04.307418 | controller | deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError 2025-11-25 08:56:04.307424 | controller | from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not 2025-11-25 08:56:04.307430 | controller | found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-11-25 08:56:04.307577 | controller | ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ 2025-11-25 08:56:04.307583 | controller | oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ 2025-11-25 08:56:04.307589 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 08:56:04.307595 | controller | \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ 2025-11-25 08:56:04.307601 | controller | exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster 2025-11-25 08:56:04.307607 | controller | ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators 2025-11-25 08:56:04.307619 | controller | deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError 2025-11-25 08:56:04.307625 | controller | from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not 2025-11-25 08:56:04.307631 | controller | found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-11-25 08:56:04.307637 | controller | ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ 2025-11-25 08:56:04.307643 | controller | oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ 2025-11-25 08:56:04.307649 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 08:56:04.307655 | controller | \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ 2025-11-25 08:56:04.307661 | controller | exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster 2025-11-25 08:56:04.307666 | controller | ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators 2025-11-25 08:56:04.307672 | controller | deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ 2025-11-25 08:56:04.307678 | controller | REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ 2025-11-25 08:56:04.307684 | controller | '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ 2025-11-25 08:56:04.307690 | controller | jq -e .status.availableReplicas\n++ oc get -n openstack-operators deployment infra-operator-controller-manager 2025-11-25 08:56:04.307695 | controller | -o json\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-11-25 08:56:04.307701 | controller | ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ 2025-11-25 08:56:04.307707 | controller | oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ 2025-11-25 08:56:04.307713 | controller | jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 2025-11-25 08:56:04.307719 | controller | 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster 2025-11-25 08:56:04.307725 | controller | ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators 2025-11-25 08:56:04.307730 | controller | deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ 2025-11-25 08:56:04.307736 | controller | REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ 2025-11-25 08:56:04.307742 | controller | '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ 2025-11-25 08:56:04.307748 | controller | oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ 2025-11-25 08:56:04.307755 | controller | jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ 2025-11-25 08:56:04.307761 | controller | exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ 2025-11-25 08:56:04.307767 | controller | exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash 2025-11-25 08:56:04.307775 | controller | scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 08:56:04.307781 | controller | ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\n+ 2025-11-25 08:56:04.307787 | controller | oc apply -f -\nmemcached.memcached.openstack.org/memcached created\n+ '[' 0 -lt 2025-11-25 08:56:04.307793 | controller | 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster 2025-11-25 08:56:04.307798 | controller | ']'\n+ '[' -z quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest 2025-11-25 08:56:04.307804 | controller | ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op 2025-11-25 08:56:04.307810 | controller | ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op 2025-11-25 08:56:04.307816 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\n+ 2025-11-25 08:56:04.307822 | controller | OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=rabbitmq-cluster-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ 2025-11-25 08:56:04.307828 | controller | echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\nOPERATOR_DIR 2025-11-25 08:56:04.307834 | controller | /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\n+ 2025-11-25 08:56:04.307839 | controller | echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE rabbitmq-cluster-operator-index\nOPERATOR_SOURCE 2025-11-25 08:56:04.307845 | controller | rabbitmq-cluster-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE 2025-11-25 08:56:04.307858 | controller | openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\ncatalogsource.operators.coreos.com/rabbitmq-cluster-operator-index 2025-11-25 08:56:04.307864 | controller | created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/rabbitmq-cluster-operator 2025-11-25 08:56:04.307870 | controller | created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/op 2025-11-25 08:56:04.307876 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\nbash 2025-11-25 08:56:04.307882 | controller | -c \"CHECKOUT_FROM_OPENSTACK_REF=false scripts/clone-operator-repo.sh\"\nCloning 2025-11-25 08:56:04.307888 | controller | repo: git clone -b patches https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git 2025-11-25 08:56:04.307894 | controller | rabbitmq-operator\nCloning into 'rabbitmq-operator'...\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml 2025-11-25 08:56:04.307900 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\nbash 2025-11-25 08:56:04.307905 | controller | scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ 2025-11-25 08:56:04.307911 | controller | cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ 2025-11-25 08:56:04.307917 | controller | . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh 2025-11-25 08:56:04.307923 | controller | --source-only\n++ set -e\n+ '[' -z keystone-kuttl-tests ']'\n+ '[' -z RabbitmqCluster 2025-11-25 08:56:04.307929 | controller | ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-11-25 08:56:04.307935 | controller | ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=image\n+ STORAGE_REQUEST=10G\n+ 2025-11-25 08:56:04.307941 | controller | INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-11-25 08:56:04.307949 | controller | ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\n~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-11-25 08:56:04.307955 | controller | ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ RabbitmqCluster 2025-11-25 08:56:04.307961 | controller | == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ 2025-11-25 08:56:04.307967 | controller | read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ 2025-11-25 08:56:04.307973 | controller | (( i < 1 ))\n+ SPEC_PATH=image\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ 2025-11-25 08:56:04.307979 | controller | (( i++ ))\n+ (( i < 1 ))\n+ '[' -n rabbitmq ']'\n+ cat\n+ '[' RabbitmqCluster == 2025-11-25 08:56:04.307984 | controller | OpenStackControlPlane ']'\n+ '[' RabbitmqCluster == Galera ']'\n+ '[' RabbitmqCluster 2025-11-25 08:56:04.307990 | controller | == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e 2025-11-25 08:56:04.307996 | controller | ]]\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e 2025-11-25 08:56:04.308002 | controller | ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge 2025-11-25 08:56:04.308008 | controller | config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./rabbitmq.yaml\n+ 2025-11-25 08:56:04.308014 | controller | for y in ${yamls[@]}\n+ kustomize edit add resource ./rabbitmq.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake 2025-11-25 08:56:04.308020 | controller | wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: 2025-11-25 08:56:04.308025 | controller | the server doesn't have a resource type \"openstackversion\"\nbash scripts/operator-wait.sh\n+ 2025-11-25 08:56:04.308031 | controller | TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ 2025-11-25 08:56:04.308039 | controller | SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ 2025-11-25 08:56:04.308045 | controller | '[' -z openstack-operators ']'\n+ '[' -z rabbitmq ']'\n+ '[' rabbitmq = rabbitmq 2025-11-25 08:56:04.308050 | controller | ']'\n+ OPERATOR_NAME=rabbitmq-cluster\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 08:56:04.308056 | controller | ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until 2025-11-25 08:56:04.308062 | controller | [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ 2025-11-25 08:56:04.308068 | controller | '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster 2025-11-25 08:56:04.308074 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators 2025-11-25 08:56:04.308086 | controller | deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError 2025-11-25 08:56:04.308092 | controller | from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ 2025-11-25 08:56:04.308120 | controller | REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' 2025-11-25 08:56:04.308130 | controller | -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ 2025-11-25 08:56:04.308136 | controller | oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq 2025-11-25 08:56:04.308142 | controller | -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" 2025-11-25 08:56:04.308147 | controller | not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-11-25 08:56:04.308153 | controller | ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ 2025-11-25 08:56:04.308159 | controller | DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment 2025-11-25 08:56:04.308168 | controller | rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from 2025-11-25 08:56:04.308174 | controller | server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ 2025-11-25 08:56:04.308188 | controller | '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster 2025-11-25 08:56:04.308195 | controller | ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ 2025-11-25 08:56:04.308201 | controller | jq -e .status.availableReplicas\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator 2025-11-25 08:56:04.308206 | controller | -o json\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" 2025-11-25 08:56:04.308212 | controller | not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-11-25 08:56:04.308218 | controller | ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ 2025-11-25 08:56:04.308224 | controller | DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment 2025-11-25 08:56:04.308230 | controller | rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from 2025-11-25 08:56:04.308236 | controller | server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ 2025-11-25 08:56:04.308241 | controller | '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster 2025-11-25 08:56:04.308247 | controller | ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ 2025-11-25 08:56:04.308253 | controller | oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq 2025-11-25 08:56:04.308259 | controller | -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" 2025-11-25 08:56:04.308265 | controller | not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-11-25 08:56:04.308271 | controller | ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ 2025-11-25 08:56:04.308276 | controller | DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment 2025-11-25 08:56:04.308282 | controller | rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from 2025-11-25 08:56:04.308288 | controller | server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ 2025-11-25 08:56:04.308294 | controller | '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster 2025-11-25 08:56:04.308300 | controller | ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ 2025-11-25 08:56:04.308306 | controller | oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq 2025-11-25 08:56:04.308312 | controller | -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" 2025-11-25 08:56:04.308318 | controller | not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-11-25 08:56:04.308326 | controller | ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ 2025-11-25 08:56:04.308332 | controller | DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment 2025-11-25 08:56:04.308339 | controller | rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from 2025-11-25 08:56:04.308346 | controller | server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ 2025-11-25 08:56:04.308352 | controller | '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster 2025-11-25 08:56:04.308357 | controller | ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ 2025-11-25 08:56:04.308363 | controller | oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq 2025-11-25 08:56:04.308369 | controller | -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ 2025-11-25 08:56:04.308377 | controller | '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster 2025-11-25 08:56:04.308395 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators 2025-11-25 08:56:04.308403 | controller | deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\n+ 2025-11-25 08:56:04.308409 | controller | REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ 2025-11-25 08:56:04.308416 | controller | exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash 2025-11-25 08:56:04.308422 | controller | scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-11-25 08:56:04.308429 | controller | ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\n+ 2025-11-25 08:56:04.308435 | controller | oc apply -f -\nrabbitmqcluster.rabbitmq.com/rabbitmq created\n+ '[' 0 -lt 15 ']'\nbash 2025-11-25 08:56:04.308442 | controller | scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' 2025-11-25 08:56:04.308448 | controller | -z 38.129.56.231:5001/openstack-k8s-operators/keystone-operator-index:99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a 2025-11-25 08:56:04.308455 | controller | ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-11-25 08:56:04.308586 | controller | ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-11-25 08:56:04.308603 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\n+ 2025-11-25 08:56:04.308612 | controller | OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=keystone-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ 2025-11-25 08:56:04.308620 | controller | echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\nOPERATOR_DIR 2025-11-25 08:56:04.308627 | controller | /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\n+ 2025-11-25 08:56:04.308635 | controller | echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE keystone-operator-index\nOPERATOR_SOURCE 2025-11-25 08:56:04.308642 | controller | keystone-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE 2025-11-25 08:56:04.308650 | controller | openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\ncatalogsource.operators.coreos.com/keystone-operator-index 2025-11-25 08:56:04.308658 | controller | created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/keystone-operator 2025-11-25 08:56:04.308665 | controller | created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-11-25 08:56:04.308672 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr\nbash 2025-11-25 08:56:04.308679 | controller | scripts/clone-operator-repo.sh\nCloning repo: git clone /home/zuul/src/github.com/openstack-k8s-operators/keystone-operator 2025-11-25 08:56:04.308687 | controller | keystone-operator\nCloning into 'keystone-operator'...\ndone.\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml 2025-11-25 08:56:04.308694 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr\nbash 2025-11-25 08:56:04.308701 | controller | scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ 2025-11-25 08:56:04.308709 | controller | cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ 2025-11-25 08:56:04.308716 | controller | . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh 2025-11-25 08:56:04.308729 | controller | --source-only\n++ set -e\n+ '[' -z keystone-kuttl-tests ']'\n+ '[' -z KeystoneAPI 2025-11-25 08:56:04.308736 | controller | ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-11-25 08:56:04.308746 | controller | ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ 2025-11-25 08:56:04.308754 | controller | STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' 2025-11-25 08:56:04.308761 | controller | '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-11-25 08:56:04.308769 | controller | ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr\n~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-11-25 08:56:04.308776 | controller | ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ KeystoneAPI 2025-11-25 08:56:04.308784 | controller | == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ 2025-11-25 08:56:04.308792 | controller | read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ 2025-11-25 08:56:04.308810 | controller | (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' 2025-11-25 08:56:04.308817 | controller | unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' KeystoneAPI == OpenStackControlPlane 2025-11-25 08:56:04.308823 | controller | ']'\n+ '[' KeystoneAPI == Galera ']'\n+ '[' KeystoneAPI == NetConfig ']'\n+ '[' 2025-11-25 08:56:04.308829 | controller | -n '' ']'\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e 2025-11-25 08:56:04.308835 | controller | ]]\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e 2025-11-25 08:56:04.308841 | controller | ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge 2025-11-25 08:56:04.308846 | controller | config dir\n++ grep -v kustomization\n++ find . -type f -name '*.yaml'\n+ yamls=./keystone_v1beta1_keystoneapi.yaml\n+ 2025-11-25 08:56:04.308852 | controller | for y in ${yamls[@]}\n+ kustomize edit add resource ./keystone_v1beta1_keystoneapi.yaml\n+ 2025-11-25 08:56:04.308858 | controller | popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: 2025-11-25 08:56:04.308864 | controller | Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: 2025-11-25 08:56:04.308870 | controller | the server doesn't have a resource type \"openstackversion\"\nbash scripts/operator-wait.sh\n+ 2025-11-25 08:56:04.308875 | controller | TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ 2025-11-25 08:56:04.308881 | controller | SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ 2025-11-25 08:56:04.308887 | controller | '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq 2025-11-25 08:56:04.308893 | controller | ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 08:56:04.308899 | controller | ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until 2025-11-25 08:56:04.308904 | controller | [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ 2025-11-25 08:56:04.308910 | controller | '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster 2025-11-25 08:56:04.308916 | controller | ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators 2025-11-25 08:56:04.308922 | controller | deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError 2025-11-25 08:56:04.308928 | controller | from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" 2025-11-25 08:56:04.308933 | controller | not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-11-25 08:56:04.308939 | controller | ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ 2025-11-25 08:56:04.308949 | controller | oc get -n openstack-operators deployment keystone-operator-controller-manager -o 2025-11-25 08:56:04.308955 | controller | json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 08:56:04.308960 | controller | \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-11-25 08:56:04.308966 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone 2025-11-25 08:56:04.308972 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc 2025-11-25 08:56:04.308978 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ 2025-11-25 08:56:04.308984 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 08:56:04.308989 | controller | \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-11-25 08:56:04.308995 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone 2025-11-25 08:56:04.309001 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc 2025-11-25 08:56:04.309007 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ 2025-11-25 08:56:04.309015 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 08:56:04.309021 | controller | \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-11-25 08:56:04.309027 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone 2025-11-25 08:56:04.309033 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc 2025-11-25 08:56:04.309039 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ 2025-11-25 08:56:04.309045 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 08:56:04.309050 | controller | \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-11-25 08:56:04.309056 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone 2025-11-25 08:56:04.309062 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc 2025-11-25 08:56:04.309075 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ 2025-11-25 08:56:04.309081 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 08:56:04.309089 | controller | \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-11-25 08:56:04.309098 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone 2025-11-25 08:56:04.309123 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ jq 2025-11-25 08:56:04.309129 | controller | -e .status.availableReplicas\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.309135 | controller | -o json\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-11-25 08:56:04.309141 | controller | ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ 2025-11-25 08:56:04.309147 | controller | oc get -n openstack-operators deployment keystone-operator-controller-manager -o 2025-11-25 08:56:04.309152 | controller | json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ 2025-11-25 08:56:04.309158 | controller | exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone 2025-11-25 08:56:04.309164 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc 2025-11-25 08:56:04.309170 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ 2025-11-25 08:56:04.309176 | controller | jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ 2025-11-25 08:56:04.309187 | controller | exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ 2025-11-25 08:56:04.309193 | controller | exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake 2025-11-25 08:56:04.309199 | controller | keystone_kuttl_run\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: 2025-11-25 08:56:04.309205 | controller | the server doesn't have a resource type \"openstackversion\"\nKEYSTONE_KUTTL_DIR=/home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests 2025-11-25 08:56:04.309211 | controller | kubectl-kuttl test --config /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/kuttl-test.yaml 2025-11-25 08:56:04.309216 | controller | /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests 2025-11-25 08:56:04.309222 | controller | --namespace keystone-kuttl-tests \n2025/11/25 08:47:20 kutt-test config testdirs 2025-11-25 08:56:04.309228 | controller | is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests 2025-11-25 08:56:04.309234 | controller | ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running 2025-11-25 08:56:04.309240 | controller | tests using configured kubeconfig.\n harness.go:278: Successful connection to 2025-11-25 08:56:04.309245 | controller | cluster at: https://api.crc.testing:6443\n harness.go:363: running tests\n harness.go:75: 2025-11-25 08:56:04.309251 | controller | going to run test suite with timeout of 800 seconds for each step\n harness.go:375: 2025-11-25 08:56:04.309257 | controller | testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests 2025-11-25 08:56:04.309263 | controller | has 5 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/change_keystone_config\n=== 2025-11-25 08:56:04.309269 | controller | PAUSE kuttl/harness/change_keystone_config\n=== RUN kuttl/harness/fernet_rotation\n=== 2025-11-25 08:56:04.309274 | controller | PAUSE kuttl/harness/fernet_rotation\n=== RUN kuttl/harness/keystone_resources\n=== 2025-11-25 08:56:04.309280 | controller | PAUSE kuttl/harness/keystone_resources\n=== RUN kuttl/harness/keystone_scale\n=== 2025-11-25 08:56:04.309286 | controller | PAUSE kuttl/harness/keystone_scale\n=== RUN kuttl/harness/keystone_tls\n=== PAUSE 2025-11-25 08:56:04.309292 | controller | kuttl/harness/keystone_tls\n=== CONT kuttl/harness/change_keystone_config\n logger.go:42: 2025-11-25 08:56:04.309298 | controller | 08:47:20 | change_keystone_config | Skipping creation of user-supplied namespace: 2025-11-25 08:56:04.309303 | controller | keystone-kuttl-tests\n logger.go:42: 08:47:20 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.309309 | controller | | starting test step 0-deploy_keystone\n logger.go:42: 08:47:20 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.309318 | controller | | KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 08:47:20 2025-11-25 08:56:04.309324 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.309329 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.309335 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.309341 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.309355 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.309361 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.309367 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.309373 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.309382 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.309388 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.309395 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.309403 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.309410 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.309418 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.309425 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.309440 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.309447 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.309455 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.309462 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.309469 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.309475 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.309481 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.309487 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:20 2025-11-25 08:56:04.309493 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.309498 | controller | do not match regex\n logger.go:42: 08:47:21 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.309504 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.309510 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.309516 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.309522 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.309527 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.309533 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.309539 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.309545 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.309551 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.309556 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.309562 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.309568 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.309574 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.309579 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.309599 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.309608 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.309615 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.309620 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.309628 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.309634 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.309650 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.309657 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:21 2025-11-25 08:56:04.309663 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.309671 | controller | do not match regex\n logger.go:42: 08:47:22 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.309677 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.309683 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.309689 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.309695 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.309701 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.309706 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.309712 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.309718 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.309724 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.309730 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.309736 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.309741 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.309747 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.309753 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.309765 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.309770 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.309776 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.309782 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.309788 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.309794 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.309799 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.309808 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:23 2025-11-25 08:56:04.309814 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.309820 | controller | do not match regex\n logger.go:42: 08:47:24 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.309826 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.309834 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.309842 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.309849 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.309857 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.309865 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.309872 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.309880 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.309888 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.309895 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.309901 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.309907 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.309922 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.309931 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.309946 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.309954 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.309962 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.309969 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.309975 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.309981 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.309986 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.309992 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:24 2025-11-25 08:56:04.309998 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.310004 | controller | do not match regex\n logger.go:42: 08:47:25 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.310014 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.310020 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.310025 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.310031 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.310040 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.310046 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.310052 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.310059 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.310066 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.310072 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.310078 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.310083 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.310089 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.310095 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.310131 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.310137 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.310143 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.310149 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.310154 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.310160 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.310166 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.310172 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:25 2025-11-25 08:56:04.310178 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.310184 | controller | do not match regex\n logger.go:42: 08:47:26 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.310189 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.310195 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.310201 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.310207 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.310221 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.310228 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.310234 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.310240 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.310246 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.310251 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.310257 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.310263 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.310272 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.310278 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.310289 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.310298 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.310304 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.310310 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.310315 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.310321 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.310327 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.310333 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:26 2025-11-25 08:56:04.310339 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.310345 | controller | do not match regex\n logger.go:42: 08:47:27 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.310350 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.310359 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.310365 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.310371 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.310377 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.310383 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.310388 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.310394 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.310400 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.310406 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.310412 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.310417 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.310423 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.310429 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.310441 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.310447 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.310452 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.310458 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.310467 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.310473 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.310479 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.310492 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:27 2025-11-25 08:56:04.310498 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.310504 | controller | do not match regex\n logger.go:42: 08:47:28 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.310510 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.310516 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.310521 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.310530 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.310536 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.310542 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.310547 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.310553 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.310559 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.310565 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.310571 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.310577 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.310582 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.310588 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.310600 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.310606 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.310612 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.310617 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.310623 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.310629 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.310635 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.310641 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:28 2025-11-25 08:56:04.310647 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.310652 | controller | do not match regex\n logger.go:42: 08:47:29 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.310658 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.310664 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.310678 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.310684 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.310690 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.310696 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.310702 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.310707 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.310713 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.310719 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.310725 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.310731 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.310737 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.310742 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.310761 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.310767 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.310773 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.310779 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.310785 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.310790 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.310796 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.310802 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:30 2025-11-25 08:56:04.310808 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.310814 | controller | do not match regex\n logger.go:42: 08:47:31 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.310820 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.310825 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.310831 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.310837 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.310843 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.310849 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.310855 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.310860 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.310866 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.310875 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.310881 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.310887 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.310893 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.310899 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.310911 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.310919 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.310925 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.310930 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.310936 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.310942 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.310948 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.310954 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:31 2025-11-25 08:56:04.310960 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.310966 | controller | do not match regex\n logger.go:42: 08:47:32 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.310971 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.310977 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.310983 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.310989 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.310995 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.311001 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.311018 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.311028 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.311057 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.311064 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.311071 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.311078 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.311084 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.311091 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.311119 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.311126 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.311136 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.311142 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.311149 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.311156 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.311163 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.311171 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:32 2025-11-25 08:56:04.311179 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.311186 | controller | do not match regex\n logger.go:42: 08:47:33 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.311193 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.311201 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.311209 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.311216 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.311222 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.311228 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.311233 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.311239 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.311245 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.311251 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.311257 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.311262 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.311268 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.311278 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.311289 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.311295 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.311301 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.311307 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.311313 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.311320 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.311327 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.311333 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:33 2025-11-25 08:56:04.311351 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.311361 | controller | do not match regex\n logger.go:42: 08:47:34 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.311367 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.311373 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.311379 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.311385 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.311391 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.311396 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.311402 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.311411 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.311416 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.311422 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.311428 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.311434 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.311440 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.311446 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.311457 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.311463 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.311469 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.311475 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.311481 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.311486 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.311493 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.311500 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:34 2025-11-25 08:56:04.311518 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.311526 | controller | do not match regex\n logger.go:42: 08:47:35 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.311534 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.311541 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.311548 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.311556 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.311563 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.311571 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.311581 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.311587 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.311593 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.311599 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.311604 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.311610 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.311616 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.311622 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.311645 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.311655 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.311661 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.311668 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.311673 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.311679 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.311685 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.311691 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:35 2025-11-25 08:56:04.311697 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.311703 | controller | do not match regex\n logger.go:42: 08:47:36 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.311708 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.311714 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.311720 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.311726 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.311731 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.311737 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.311743 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.311749 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.311757 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.311763 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.311768 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.311774 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.311780 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.311786 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.311803 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.311808 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.311814 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.311820 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.311826 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.311832 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.311837 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.311843 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:37 2025-11-25 08:56:04.311849 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.311855 | controller | do not match regex\n logger.go:42: 08:47:38 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.311860 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.311866 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.311872 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.311878 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.311884 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.311889 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.311895 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.311908 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.311914 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.311920 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.311926 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.311932 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.311938 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.311943 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.311955 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.311961 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.311967 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.311972 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.311978 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.311984 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.311993 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.312003 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:38 2025-11-25 08:56:04.312020 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.312029 | controller | do not match regex\n logger.go:42: 08:47:39 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.312037 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.312044 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.312052 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.312058 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.312064 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.312069 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.312075 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.312081 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.312087 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.312127 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.312139 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.312145 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.312150 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.312156 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.312168 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.312174 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.312180 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.312186 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.312191 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.312197 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.312203 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.312209 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:39 2025-11-25 08:56:04.312215 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.312231 | controller | do not match regex\n logger.go:42: 08:47:40 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.312237 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.312243 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.312251 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.312259 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.312271 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.312279 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.312287 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.312294 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.312301 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.312309 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.312316 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.312323 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.312329 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.312335 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.312347 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.312356 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.312362 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.312368 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.312373 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.312379 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.312385 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.312391 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:40 2025-11-25 08:56:04.312397 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.312402 | controller | do not match regex\n logger.go:42: 08:47:41 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.312408 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.312414 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.312420 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.312426 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.312431 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.312437 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.312443 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.312449 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.312455 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.312460 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.312466 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.312475 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.312481 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.312489 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.312500 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.312516 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.312524 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.312531 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.312539 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.312548 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.312559 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.312566 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:41 2025-11-25 08:56:04.312573 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.312581 | controller | do not match regex\n logger.go:42: 08:47:42 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.312588 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.312595 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.312602 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.312609 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.312616 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.312623 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.312631 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.312638 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.312645 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.312652 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.312658 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.312664 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.312670 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.312676 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.312688 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.312693 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.312699 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.312709 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.312749 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.312757 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.312772 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.312780 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:42 2025-11-25 08:56:04.312787 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.312794 | controller | do not match regex\n logger.go:42: 08:47:43 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.312801 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.312808 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.312815 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.312822 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.312829 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.312836 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.312842 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.312848 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.312863 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.312869 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.312876 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.312883 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.312891 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.312898 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.312918 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.312925 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.312932 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.312939 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.312946 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.312953 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.312960 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.312966 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:44 2025-11-25 08:56:04.312973 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.312979 | controller | do not match regex\n logger.go:42: 08:47:45 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.312986 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.312996 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.313002 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.313009 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.313015 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.313022 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.313028 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.313035 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.313041 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.313048 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.313054 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.313060 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.313067 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.313073 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.313087 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.313134 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.313150 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.313156 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.313163 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.313171 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.313179 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.313187 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:45 2025-11-25 08:56:04.313194 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.313202 | controller | do not match regex\n logger.go:42: 08:47:46 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.313208 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.313224 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.313231 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.313237 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.313242 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.313248 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.313254 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.313260 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.313270 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.313276 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.313282 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.313287 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.313293 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.313299 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.313314 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.313320 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.313326 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.313331 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.313337 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.313343 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.313349 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.313355 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:46 2025-11-25 08:56:04.313360 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.313366 | controller | do not match regex\n logger.go:42: 08:47:47 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.313372 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.313378 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.313383 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.313389 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.313395 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.313401 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.313407 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.313412 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.313418 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.313424 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.313430 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.313435 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.313441 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.313447 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.313459 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.313468 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.313484 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.313492 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.313500 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.313508 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.313516 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.313523 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:47 2025-11-25 08:56:04.313531 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.313538 | controller | do not match regex\n logger.go:42: 08:47:48 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.313545 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.313550 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.313556 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.313562 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.313568 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.313574 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.313580 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.313585 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.313591 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.313597 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.313603 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.313608 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.313614 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.313620 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.313631 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.313637 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.313643 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.313652 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.313658 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.313664 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.313670 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.313676 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:48 2025-11-25 08:56:04.313685 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.313691 | controller | do not match regex\n logger.go:42: 08:47:49 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.313697 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.313702 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.313708 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.313714 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.313720 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.313726 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.313732 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.313737 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.313743 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.313757 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.313764 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.313770 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.313775 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.313781 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.313793 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.313802 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.313807 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.313813 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.313819 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.313825 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.313831 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.313836 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:50 2025-11-25 08:56:04.313842 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.313848 | controller | do not match regex\n logger.go:42: 08:47:51 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.313854 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.313860 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.313866 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.313876 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.313882 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.313891 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.313897 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.313903 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.313908 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.313914 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.313920 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.313926 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.313931 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.313937 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.313949 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.313955 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.313961 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.313967 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.313975 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.313981 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.313989 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.313995 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:51 2025-11-25 08:56:04.314001 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.314007 | controller | do not match regex\n logger.go:42: 08:47:52 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.314012 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.314018 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.314031 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.314038 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.314044 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.314049 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.314055 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.314061 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.314067 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.314073 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.314078 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.314084 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.314090 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.314115 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.314130 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.314136 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.314142 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.314148 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.314154 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.314159 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.314165 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.314171 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:52 2025-11-25 08:56:04.314177 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 08:56:04.314183 | controller | do not match regex\n logger.go:42: 08:47:53 | change_keystone_config/0-deploy_keystone 2025-11-25 08:56:04.314188 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.314194 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.314200 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.314206 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.314212 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.314217 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.314223 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.314229 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.314235 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.314241 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.314246 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.314252 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.314258 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.314264 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.314275 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.314281 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.314287 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.314301 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.314307 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.314316 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.314324 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.314331 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:54 2025-11-25 08:56:04.314336 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.314342 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.314348 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.314354 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.314360 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.314365 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.314371 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.314377 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.314383 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.314389 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.314395 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.314400 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.314406 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.314412 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.314418 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.314429 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.314435 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.314441 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.314447 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.314455 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.314461 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.314466 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.314472 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:55 2025-11-25 08:56:04.314478 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.314484 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.314489 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.314495 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.314501 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.314507 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.314515 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.314521 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.314527 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.314533 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.314538 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.314544 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.314550 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.314556 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.314569 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.314581 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.314587 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.314593 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.314599 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.314605 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.314611 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.314616 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.314625 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:56 2025-11-25 08:56:04.314631 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.314637 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.314643 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.314649 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.314654 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.314660 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.314666 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.314672 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.314678 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.314683 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.314689 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.314695 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.314701 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.314707 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.314713 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.314727 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.314733 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.314739 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.314744 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.314750 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.314756 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.314762 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.314768 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:58 2025-11-25 08:56:04.314773 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.314779 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.314785 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.314791 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.314797 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.314802 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.314808 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.314814 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.314820 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.314833 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.314839 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.314845 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.314850 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.314856 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.314862 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.314874 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.314879 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.314885 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.314891 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.314897 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.314903 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.314909 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.314914 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:47:59 2025-11-25 08:56:04.314926 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.314932 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.314938 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.314944 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.314950 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.314955 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.314961 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.314967 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.314973 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.314979 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.314984 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.314990 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.314996 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.315002 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.315008 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.315019 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.315025 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.315031 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.315040 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.315059 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.315065 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.315071 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.315076 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:00 2025-11-25 08:56:04.315082 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.315088 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.315094 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.315112 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.315128 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.315134 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.315140 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.315146 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.315152 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.315161 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.315167 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.315173 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.315181 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.315187 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.315193 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.315205 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.315211 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.315217 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.315222 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.315228 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.315235 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.315242 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.315250 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:01 2025-11-25 08:56:04.315258 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.315272 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.315281 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.315287 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.315293 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.315298 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.315304 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.315310 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.315316 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.315322 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.315328 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.315333 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.315339 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.315345 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.315351 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.315362 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.315371 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.315377 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.315383 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.315391 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.315397 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.315411 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.315418 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:02 2025-11-25 08:56:04.315424 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.315430 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.315435 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.315441 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.315447 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.315453 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.315459 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.315465 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.315471 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.315476 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.315482 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.315488 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.315494 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.315500 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.315506 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.315517 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.315523 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.315529 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.315535 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.315541 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.315546 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.315552 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.315558 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:04 2025-11-25 08:56:04.315564 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.315570 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.315582 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.315590 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.315598 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.315606 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.315614 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.315620 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.315626 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.315632 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.315638 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.315644 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.315650 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.315655 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.315661 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.315673 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.315687 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.315693 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.315699 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.315705 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.315711 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.315717 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.315723 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:05 2025-11-25 08:56:04.315728 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.315734 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.315740 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.315746 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.315752 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.315757 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.315763 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.315769 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.315775 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.315781 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.315787 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.315796 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.315802 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.315808 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.315813 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.315825 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.315831 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.315837 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.315843 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.315848 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.315854 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.315860 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.315866 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:06 2025-11-25 08:56:04.315872 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.315878 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.315883 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.315892 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.315898 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.315904 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.315912 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.315918 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.315924 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.315930 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.315936 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.315941 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.315954 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.315961 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.315967 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.315978 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.315984 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.315990 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.315998 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.316009 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.316017 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.316024 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.316031 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:07 2025-11-25 08:56:04.316039 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.316046 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.316051 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.316057 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.316063 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.316069 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.316075 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.316080 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.316086 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.316093 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.316118 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.316130 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.316138 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.316145 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.316151 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.316162 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.316168 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.316176 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.316183 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.316191 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.316198 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.316206 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.316213 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:08 2025-11-25 08:56:04.316221 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.316228 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.316236 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.316242 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.316248 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.316257 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.316263 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.316284 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.316293 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.316301 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.316308 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.316316 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.316323 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.316331 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.316338 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.316353 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.316360 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.316367 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.316375 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.316382 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.316390 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.316398 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.316405 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:10 2025-11-25 08:56:04.316413 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.316420 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.316428 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.316435 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.316443 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.316450 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.316458 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.316465 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.316473 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.316480 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.316488 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.316495 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.316503 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.316510 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.316522 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.316537 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.316545 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.316552 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.316560 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.316568 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.316576 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.316583 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.316591 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:11 2025-11-25 08:56:04.316598 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.316606 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.316624 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.316632 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.316640 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.316652 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.316660 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.316668 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.316678 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.316685 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.316693 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.316700 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.316708 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.316715 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.316723 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.316738 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.316746 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.316753 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.316761 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.316771 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.316779 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.316795 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.316803 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:12 2025-11-25 08:56:04.316811 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.316818 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.316826 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.316833 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.316841 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.316848 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.316856 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.316863 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.316874 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.316881 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.316889 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.316897 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.316905 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.316912 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.316920 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.316934 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.316942 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.316949 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.316957 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.316974 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.316982 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.316989 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.316995 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:13 2025-11-25 08:56:04.317001 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.317007 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.317013 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.317019 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.317025 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.317030 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.317036 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.317045 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.317051 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.317060 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.317066 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.317072 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.317077 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.317083 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.317089 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.317120 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.317126 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.317132 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.317138 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.317143 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.317149 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.317155 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.317161 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:14 2025-11-25 08:56:04.317167 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.317172 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.317178 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.317184 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.317190 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.317196 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.317201 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.317207 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.317213 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.317219 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.317225 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.317231 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.317236 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.317242 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.317248 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.317271 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.317277 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.317283 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.317289 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.317295 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.317300 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.317306 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.317312 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:16 2025-11-25 08:56:04.317320 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.317326 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.317333 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.317340 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.317346 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.317352 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.317358 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.317363 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.317369 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.317375 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.317383 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.317389 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.317395 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.317401 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.317407 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.317418 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.317424 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.317430 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.317436 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.317442 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.317447 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.317453 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.317459 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:17 2025-11-25 08:56:04.317465 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.317473 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.317479 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.317485 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.317491 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.317497 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.317502 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.317508 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.317514 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.317520 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.317533 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.317539 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.317547 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.317553 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.317559 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.317571 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.317576 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.317582 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.317588 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.317594 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.317600 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.317606 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.317611 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:18 2025-11-25 08:56:04.317617 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.317623 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.317629 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.317635 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.317641 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.317647 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.317652 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.317658 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.317664 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.317670 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.317679 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.317685 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.317691 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.317697 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.317705 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.317717 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.317723 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.317728 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.317734 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.317740 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.317746 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.317752 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.317757 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:19 2025-11-25 08:56:04.317763 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.317769 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.317775 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.317781 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.317787 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.317799 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.317805 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.317811 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.317817 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.317823 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.317829 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.317835 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.317840 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.317846 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.317852 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.317864 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.317869 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.317875 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.317884 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.317890 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.317895 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.317901 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.317907 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:20 2025-11-25 08:56:04.317913 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.317919 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.317924 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.317930 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.317936 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.317942 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.317948 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.317954 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.317959 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.317965 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.317971 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.317977 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.317983 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.317988 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.317994 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.318008 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.318014 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.318020 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.318026 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.318032 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.318038 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.318043 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.318056 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:22 2025-11-25 08:56:04.318062 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.318068 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.318074 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.318082 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.318089 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.318094 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.318114 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.318122 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.318128 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.318134 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.318140 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.318146 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.318151 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.318157 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.318163 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.318178 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.318184 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.318189 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.318195 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.318201 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.318207 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.318214 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.318224 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:23 2025-11-25 08:56:04.318241 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.318250 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.318257 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.318264 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.318271 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.318278 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.318290 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.318298 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.318306 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.318313 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.318321 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.318328 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.318343 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.318351 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.318359 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.318374 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.318380 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.318398 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.318405 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.318411 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.318416 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.318422 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.318428 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:24 2025-11-25 08:56:04.318434 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.318440 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.318446 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.318451 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.318457 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.318463 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.318469 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.318475 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.318480 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.318486 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.318492 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.318498 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.318504 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.318509 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.318515 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.318527 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.318533 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.318539 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.318544 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.318550 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.318559 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.318565 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.318571 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:25 2025-11-25 08:56:04.318577 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.318583 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.318589 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.318594 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.318600 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.318606 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.318612 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.318618 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.318623 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.318629 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.318635 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.318641 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.318647 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.318660 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.318666 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.318678 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.318684 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.318690 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.318698 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.318704 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.318710 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.318716 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.318722 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:26 2025-11-25 08:56:04.318728 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.318734 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.318739 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.318745 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.318751 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.318757 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.318765 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.318771 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.318777 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.318783 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.318789 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.318794 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.318800 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.318806 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.318812 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.318824 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.318829 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.318835 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.318841 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.318847 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.318853 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.318858 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.318864 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:27 2025-11-25 08:56:04.318870 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.318876 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.318882 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.318887 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.318893 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.318899 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.318905 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.318911 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.318924 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.318930 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.318936 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.318942 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.318948 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.318953 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.318959 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.318974 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.318980 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.318985 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.318991 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.318999 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.319007 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.319013 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.319019 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:29 2025-11-25 08:56:04.319025 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.319031 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.319037 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.319042 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.319048 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.319078 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.319086 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.319092 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.319112 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.319123 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.319129 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.319136 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.319142 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.319150 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.319157 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.319172 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.319179 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.319186 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.319193 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.319200 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.319206 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.319212 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.319221 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:30 2025-11-25 08:56:04.319227 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.319233 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.319238 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.319253 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.319259 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.319265 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.319271 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.319277 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.319283 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.319289 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.319295 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.319300 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.319306 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.319312 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.319318 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.319330 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.319335 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.319341 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.319347 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.319353 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.319359 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.319368 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.319374 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:31 2025-11-25 08:56:04.319380 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 08:56:04.319385 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 08:56:04.319391 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 08:56:04.319397 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.319403 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.319409 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.319414 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.319420 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.319429 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.319435 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.319440 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.319446 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.319452 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.319458 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.319464 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.319475 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.319481 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.319487 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.319493 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.319501 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.319518 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.319524 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.319530 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:31 2025-11-25 08:56:04.319536 | controller | | change_keystone_config/0-deploy_keystone | test step completed 0-deploy_keystone\n 2025-11-25 08:56:04.319542 | controller | \ logger.go:42: 08:48:31 | change_keystone_config/1- | starting test step 1-\n 2025-11-25 08:56:04.319548 | controller | \ logger.go:42: 08:48:31 | change_keystone_config/1- | running command: [sh -c 2025-11-25 08:56:04.319554 | controller | $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh]\n logger.go:42: 2025-11-25 08:56:04.319559 | controller | 08:48:31 | change_keystone_config/1- | test step completed 1-\n logger.go:42: 2025-11-25 08:56:04.319565 | controller | 08:48:31 | change_keystone_config/2-change_keystone_config | starting test step 2025-11-25 08:56:04.319571 | controller | 2-change_keystone_config\n logger.go:42: 08:48:31 | change_keystone_config/2-change_keystone_config 2025-11-25 08:56:04.319577 | controller | | running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type='json' 2025-11-25 08:56:04.319583 | controller | -p='[{\"op\": \"replace\", \"path\": \"/spec/customServiceConfig\", \"value\": \"[DEFAULT]\\ndebug 2025-11-25 08:56:04.319589 | controller | = false\"}]'\n ]\n logger.go:42: 08:48:32 | change_keystone_config/2-change_keystone_config 2025-11-25 08:56:04.319594 | controller | | keystoneapi.keystone.openstack.org/keystone patched\n logger.go:42: 08:48:32 2025-11-25 08:56:04.319600 | controller | | change_keystone_config/2-change_keystone_config | running command: [sh -c $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh 2025-11-25 08:56:04.319606 | controller | --reverse]\n logger.go:42: 08:48:33 | change_keystone_config/2-change_keystone_config 2025-11-25 08:56:04.319612 | controller | | running command: [sh -c $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh 2025-11-25 08:56:04.319618 | controller | --reverse]\n logger.go:42: 08:48:33 | change_keystone_config/2-change_keystone_config 2025-11-25 08:56:04.319624 | controller | | error: arguments in resource/name form may not have more than one slash\n logger.go:42: 2025-11-25 08:56:04.319629 | controller | 08:48:33 | change_keystone_config/2-change_keystone_config | test step completed 2025-11-25 08:56:04.319638 | controller | 2-change_keystone_config\n logger.go:42: 08:48:33 | change_keystone_config/3-cleanup-keystone 2025-11-25 08:56:04.319644 | controller | | starting test step 3-cleanup-keystone\n logger.go:42: 08:48:37 | change_keystone_config/3-cleanup-keystone 2025-11-25 08:56:04.319650 | controller | | test step completed 3-cleanup-keystone\n logger.go:42: 08:48:37 | change_keystone_config 2025-11-25 08:56:04.319656 | controller | | skipping kubernetes event logging\n=== CONT kuttl/harness/keystone_scale\n logger.go:42: 2025-11-25 08:56:04.319664 | controller | 08:48:37 | keystone_scale | Skipping creation of user-supplied namespace: keystone-kuttl-tests\n 2025-11-25 08:56:04.319670 | controller | \ logger.go:42: 08:48:37 | keystone_scale/0-deploy_keystone | starting test step 2025-11-25 08:56:04.319676 | controller | 0-deploy_keystone\n logger.go:42: 08:48:37 | keystone_scale/0-deploy_keystone 2025-11-25 08:56:04.319681 | controller | | KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 08:48:38 2025-11-25 08:56:04.319687 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.319695 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.319701 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.319707 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.319713 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.319719 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.319724 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.319730 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.319736 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.319742 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.319748 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.319753 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.319764 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.319771 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.319784 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.319796 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.319801 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.319807 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.319813 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.319819 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.319825 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.319831 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.319836 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:38 2025-11-25 08:56:04.319845 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 08:56:04.319851 | controller | match regex\n logger.go:42: 08:48:39 | keystone_scale/0-deploy_keystone | running 2025-11-25 08:56:04.319856 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.319862 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 08:56:04.319868 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 08:56:04.319874 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.319880 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.319886 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.319891 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.319897 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.319903 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.319909 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.319915 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.319920 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.319926 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.319932 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.319944 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.319949 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.319955 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.319961 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.319967 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.319973 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.319978 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.319984 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:39 2025-11-25 08:56:04.319990 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 08:56:04.319998 | controller | match regex\n logger.go:42: 08:48:40 | keystone_scale/0-deploy_keystone | running 2025-11-25 08:56:04.320004 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.320010 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 08:56:04.320016 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 08:56:04.320022 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.320027 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.320040 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.320049 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.320055 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.320061 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.320066 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.320072 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.320078 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.320084 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.320090 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.320118 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.320124 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.320130 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.320136 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.320142 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.320148 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.320153 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.320159 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:40 2025-11-25 08:56:04.320165 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 08:56:04.320171 | controller | match regex\n logger.go:42: 08:48:41 | keystone_scale/0-deploy_keystone | running 2025-11-25 08:56:04.320176 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.320182 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 08:56:04.320188 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 08:56:04.320194 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.320200 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.320206 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.320211 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.320217 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.320223 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.320229 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.320235 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.320240 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.320246 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.320255 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.320267 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.320273 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.320279 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.320284 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.320290 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.320296 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.320302 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.320308 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:41 2025-11-25 08:56:04.320324 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 08:56:04.320330 | controller | match regex\n logger.go:42: 08:48:42 | keystone_scale/0-deploy_keystone | running 2025-11-25 08:56:04.320336 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.320342 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 08:56:04.320348 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 08:56:04.320354 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.320359 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.320365 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.320371 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.320377 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.320382 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.320388 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.320394 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.320402 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.320408 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.320414 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.320426 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.320431 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.320437 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.320443 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.320449 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.320455 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.320463 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.320469 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:42 2025-11-25 08:56:04.320475 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 08:56:04.320480 | controller | match regex\n logger.go:42: 08:48:43 | keystone_scale/0-deploy_keystone | running 2025-11-25 08:56:04.320486 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.320492 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 08:56:04.320498 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 08:56:04.320504 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.320510 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.320515 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.320521 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.320527 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.320533 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.320539 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.320545 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.320552 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.320559 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.320566 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.320589 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.320596 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.320604 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.320611 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.320618 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.320624 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.320630 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.320639 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:44 2025-11-25 08:56:04.320644 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 08:56:04.320650 | controller | match regex\n logger.go:42: 08:48:45 | keystone_scale/0-deploy_keystone | running 2025-11-25 08:56:04.320656 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.320662 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 08:56:04.320668 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 08:56:04.320673 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.320682 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.320688 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.320694 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.320699 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.320705 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.320711 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.320717 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.320723 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.320728 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.320734 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.320746 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.320752 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.320757 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.320763 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.320769 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.320775 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.320781 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.320786 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:45 2025-11-25 08:56:04.320792 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 08:56:04.320798 | controller | match regex\n logger.go:42: 08:48:46 | keystone_scale/0-deploy_keystone | running 2025-11-25 08:56:04.320804 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.320810 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 08:56:04.320815 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 08:56:04.320821 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.320827 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.320833 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.320839 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.320845 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.320860 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.320867 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.320872 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.320881 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.320887 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.320893 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.320905 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.320910 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.320916 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.320922 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.320928 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.320934 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.320942 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.320948 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:46 2025-11-25 08:56:04.320954 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 08:56:04.320960 | controller | match regex\n logger.go:42: 08:48:47 | keystone_scale/0-deploy_keystone | running 2025-11-25 08:56:04.320965 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.320971 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 08:56:04.320977 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 08:56:04.320983 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.320997 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.321003 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.321009 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.321015 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.321021 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.321026 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.321032 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.321038 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.321044 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.321050 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.321061 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.321067 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.321073 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.321079 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.321212 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.321226 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.321232 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.321237 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:47 2025-11-25 08:56:04.321243 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 08:56:04.321249 | controller | match regex\n logger.go:42: 08:48:48 | keystone_scale/0-deploy_keystone | running 2025-11-25 08:56:04.321264 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.321270 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 08:56:04.321276 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 08:56:04.321282 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.321288 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.321298 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.321304 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.321310 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.321316 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.321324 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.321330 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.321337 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.321344 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.321349 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.321361 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.321367 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.321374 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.321382 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.321389 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.321404 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.321412 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.321420 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:48 2025-11-25 08:56:04.321428 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 08:56:04.321435 | controller | match regex\n logger.go:42: 08:48:49 | keystone_scale/0-deploy_keystone | running 2025-11-25 08:56:04.321443 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.321450 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 08:56:04.321461 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 08:56:04.321468 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.321475 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.321482 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.321488 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.321493 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.321499 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.321505 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.321511 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.321517 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.321522 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.321528 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.321540 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.321546 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.321561 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.321568 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.321574 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.321580 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.321586 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.321592 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:49 2025-11-25 08:56:04.321597 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 08:56:04.321603 | controller | match regex\n logger.go:42: 08:48:50 | keystone_scale/0-deploy_keystone | running 2025-11-25 08:56:04.321609 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.321615 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 08:56:04.321621 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 08:56:04.321627 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.321633 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.321638 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.321644 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.321650 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.321656 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.321665 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.321671 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.321676 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.321682 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.321688 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.321703 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.321709 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.321715 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.321724 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.321730 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.321736 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.321741 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.321747 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:52 2025-11-25 08:56:04.321753 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.321759 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.321765 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.321771 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.321776 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.321782 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.321788 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.321794 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.321800 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.321806 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.321811 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.321817 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.321830 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.321836 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.321842 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.321854 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.321860 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.321866 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.321875 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.321881 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.321887 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.321892 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.321898 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:53 2025-11-25 08:56:04.321904 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.321910 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.321916 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.321921 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.321927 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.321933 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.321939 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.321945 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.321951 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.321957 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.321962 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.321968 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.321974 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.321980 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.321986 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.321997 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.322003 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.322009 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.322015 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.322023 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.322032 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.322038 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.322043 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:54 2025-11-25 08:56:04.322049 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.322055 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.322061 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.322067 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.322075 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.322081 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.322087 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.322121 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.322132 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.322138 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.322144 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.322149 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.322155 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.322161 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.322167 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.322178 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.322184 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.322190 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.322196 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.322202 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.322207 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.322213 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.322219 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:55 2025-11-25 08:56:04.322225 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.322231 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.322237 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.322242 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.322248 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.322254 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.322260 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.322266 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.322272 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.322278 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.322283 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.322289 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.322295 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.322306 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.322313 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.322327 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.322334 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.322341 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.322348 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.322355 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.322362 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.322373 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.322379 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:56 2025-11-25 08:56:04.322384 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.322390 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.322404 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.322410 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.322416 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.322422 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.322428 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.322434 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.322439 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.322445 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.322451 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.322457 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.322463 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.322470 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.322478 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.322493 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.322501 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.322509 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.322517 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.322525 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.322537 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.322545 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.322553 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:58 2025-11-25 08:56:04.322561 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.322568 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.322576 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.322583 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.322591 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.322599 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.322606 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.322614 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.322621 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.322629 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.322636 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.322644 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.322652 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.322660 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.322667 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.322682 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.322689 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.322695 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.322701 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.322716 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.322723 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.322729 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.322738 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:48:59 2025-11-25 08:56:04.322745 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.322750 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.322756 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.322762 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.322768 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.322774 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.322783 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.322788 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.322794 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.322800 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.322806 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.322812 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.322820 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.322826 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.322832 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.322843 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.322849 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.322855 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.322861 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.322867 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.322872 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.322878 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.322884 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:49:00 2025-11-25 08:56:04.322890 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.322895 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.322901 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.322907 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.322913 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.322919 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.322925 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.322930 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.322936 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.322942 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.322948 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.322954 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.322959 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.322965 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.322971 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.322996 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.323002 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.323008 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.323014 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.323023 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.323029 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.323035 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.323040 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:49:01 2025-11-25 08:56:04.323046 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.323055 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.323060 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.323087 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.323094 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.323115 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.323125 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.323132 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.323138 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.323145 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.323151 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.323158 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.323164 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.323170 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.323177 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.323190 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.323196 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.323203 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.323209 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.323216 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.323222 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.323228 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.323235 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:49:02 2025-11-25 08:56:04.323245 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.323251 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.323258 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.323264 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.323271 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.323277 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.323283 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.323290 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.323296 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.323303 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.323318 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.323325 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.323331 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.323336 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.323342 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.323354 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.323363 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.323369 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.323375 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.323381 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.323387 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.323393 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.323398 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:49:04 2025-11-25 08:56:04.323404 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.323412 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.323418 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.323424 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.323430 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.323435 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.323441 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.323447 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.323453 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.323461 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.323467 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.323473 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.323479 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.323485 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.323490 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.323502 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.323508 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.323514 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.323519 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.323525 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.323531 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.323537 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.323543 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:49:05 2025-11-25 08:56:04.323548 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.323554 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.323560 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.323566 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.323572 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.323586 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.323598 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.323607 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.323615 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.323623 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.323631 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.323638 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.323645 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.323652 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.323659 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.323673 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.323678 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.323688 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.323694 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.323700 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.323705 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.323711 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.323717 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:49:06 2025-11-25 08:56:04.323723 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.323732 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.323740 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.323746 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.323752 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.323758 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.323764 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.323770 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.323775 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.323781 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.323787 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.323793 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.323799 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.323807 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.323814 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.323829 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.323837 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.323844 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.323851 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.323859 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.323866 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.323874 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.323881 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:49:07 2025-11-25 08:56:04.323900 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.323907 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.323912 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.323924 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.323930 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.323936 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.323942 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.323948 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.323954 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.323960 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.323966 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.323971 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.323977 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.323983 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.323989 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.324000 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.324006 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.324012 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.324018 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.324023 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.324029 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.324035 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.324041 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:49:08 2025-11-25 08:56:04.324047 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.324052 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.324058 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.324067 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.324073 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.324079 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.324085 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.324091 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.324112 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.324122 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.324128 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.324133 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.324142 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.324148 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.324154 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.324166 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.324172 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.324177 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.324191 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.324198 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.324203 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.324209 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.324215 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:49:10 2025-11-25 08:56:04.324221 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.324227 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.324233 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.324238 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.324244 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.324250 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.324256 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.324261 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.324267 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.324273 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.324279 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.324285 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.324291 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.324303 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.324317 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.324333 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.324341 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.324348 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.324354 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.324370 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.324376 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.324382 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.324388 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:49:11 2025-11-25 08:56:04.324394 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.324400 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.324405 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.324411 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.324417 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.324423 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.324428 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.324437 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.324445 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.324450 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.324456 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.324462 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.324468 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.324474 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.324493 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.324506 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.324512 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.324517 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.324523 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.324529 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.324535 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.324541 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.324546 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:49:12 2025-11-25 08:56:04.324552 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.324558 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.324564 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.324570 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.324575 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.324581 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.324590 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.324596 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.324602 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.324607 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.324613 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.324619 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.324625 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.324631 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.324636 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.324648 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.324654 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.324660 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.324667 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.324679 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.324694 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.324703 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.324711 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:49:13 2025-11-25 08:56:04.324719 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.324726 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.324734 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.324742 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.324750 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.324758 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.324765 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.324772 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.324784 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.324803 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.324809 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.324815 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.324821 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.324827 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.324838 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.324850 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.324856 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.324861 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.324867 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.324873 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.324879 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.324885 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.324891 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:49:14 2025-11-25 08:56:04.324897 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.324903 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.324909 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.324914 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.324920 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.324926 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.324932 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.324938 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.324944 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.324950 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.324956 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.324961 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.324967 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.324973 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.324979 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.324991 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.324997 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.325002 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.325008 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.325014 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.325020 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.325026 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.325034 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:49:16 2025-11-25 08:56:04.325041 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.325048 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.325056 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.325064 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.325080 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.325089 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.325099 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.325127 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.325135 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.325146 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.325154 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.325161 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.325170 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.325176 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.325182 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.325194 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.325200 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.325206 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.325212 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.325218 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.325225 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.325232 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.325239 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:49:17 2025-11-25 08:56:04.325246 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.325254 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.325262 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.325270 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.325277 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.325283 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.325289 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.325295 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.325304 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.325310 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.325316 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.325322 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.325328 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.325334 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.325340 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.325352 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.325357 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.325363 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.325369 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.325375 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.325381 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.325397 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.325404 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:49:18 2025-11-25 08:56:04.325410 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.325415 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.325421 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.325427 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.325433 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.325439 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.325445 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.325451 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.325457 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.325462 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.325472 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.325478 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.325484 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.325489 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.325495 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.325507 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.325515 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.325521 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.325527 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.325533 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.325538 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.325544 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.325550 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:49:19 2025-11-25 08:56:04.325556 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.325561 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.325567 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.325573 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.325579 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.325584 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.325590 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.325596 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.325602 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.325608 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.325613 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.325619 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.325625 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.325631 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.325636 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.325648 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.325655 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.325676 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.325694 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.325703 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.325711 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.325718 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.325723 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:49:20 2025-11-25 08:56:04.325729 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.325735 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.325746 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.325751 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.325757 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.325763 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.325769 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.325775 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.325780 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.325786 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.325792 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.325798 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.325804 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.325809 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.325819 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.325833 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.325838 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.325844 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.325850 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.325856 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.325861 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.325867 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.325873 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:49:22 2025-11-25 08:56:04.325879 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.325884 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.325890 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.325896 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.325902 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.325907 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.325918 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.325924 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.325930 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.325936 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.325942 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.325950 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.325965 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.325972 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.325978 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.325989 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.325995 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.326001 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.326007 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.326013 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.326018 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.326024 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.326030 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:49:23 2025-11-25 08:56:04.326036 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.326042 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.326048 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.326053 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.326059 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.326065 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.326071 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.326077 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.326082 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.326089 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.326099 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.326143 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.326150 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.326156 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.326162 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.326178 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.326184 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.326189 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.326195 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.326204 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.326210 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.326216 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.326222 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:49:24 2025-11-25 08:56:04.326227 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.326233 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.326239 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.326245 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.326250 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.326256 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.326262 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.326277 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.326284 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.326290 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.326295 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.326301 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.326307 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.326313 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.326319 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.326330 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.326336 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.326342 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.326348 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.326353 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.326359 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.326365 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.326371 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:49:25 2025-11-25 08:56:04.326377 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.326382 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.326388 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.326394 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.326400 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.326408 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.326414 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.326420 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.326426 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.326432 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.326437 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.326443 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.326449 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.326455 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.326461 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.326475 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.326481 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.326486 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.326492 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.326498 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.326504 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.326510 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.326515 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:49:27 2025-11-25 08:56:04.326521 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.326527 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.326540 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.326546 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.326552 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.326558 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.326564 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.326570 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.326576 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.326582 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.326587 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.326593 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.326599 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.326605 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.326614 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.326625 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.326631 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.326637 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.326643 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.326651 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.326657 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.326663 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.326669 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:49:28 2025-11-25 08:56:04.326675 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.326681 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.326686 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.326692 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.326698 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.326704 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.326710 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.326716 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.326721 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.326727 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.326733 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.326739 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.326745 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.326751 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.326756 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.326768 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.326774 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.326780 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.326788 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.326794 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.326808 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.326817 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.326823 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:49:28 2025-11-25 08:56:04.326829 | controller | | keystone_scale/0-deploy_keystone | test step completed 0-deploy_keystone\n logger.go:42: 2025-11-25 08:56:04.326835 | controller | 08:49:28 | keystone_scale/1-scale-keystoneapi | starting test step 1-scale-keystoneapi\n 2025-11-25 08:56:04.326840 | controller | \ logger.go:42: 08:49:28 | keystone_scale/1-scale-keystoneapi | running command: 2025-11-25 08:56:04.326846 | controller | [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type='json' -p='[{\"op\": \"replace\", 2025-11-25 08:56:04.326852 | controller | \"path\": \"/spec/replicas\", \"value\":3}]'\n ]\n logger.go:42: 08:49:28 2025-11-25 08:56:04.326858 | controller | | keystone_scale/1-scale-keystoneapi | keystoneapi.keystone.openstack.org/keystone 2025-11-25 08:56:04.326864 | controller | patched\n logger.go:42: 08:50:01 | keystone_scale/1-scale-keystoneapi | test 2025-11-25 08:56:04.326870 | controller | step completed 1-scale-keystoneapi\n logger.go:42: 08:50:01 | keystone_scale/2-scale-down-keystoneapi 2025-11-25 08:56:04.326876 | controller | | starting test step 2-scale-down-keystoneapi\n logger.go:42: 08:50:01 | keystone_scale/2-scale-down-keystoneapi 2025-11-25 08:56:04.326881 | controller | | running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type='json' 2025-11-25 08:56:04.326887 | controller | -p='[{\"op\": \"replace\", \"path\": \"/spec/replicas\", \"value\":1}]'\n ]\n 2025-11-25 08:56:04.326893 | controller | \ logger.go:42: 08:50:01 | keystone_scale/2-scale-down-keystoneapi | keystoneapi.keystone.openstack.org/keystone 2025-11-25 08:56:04.326899 | controller | patched\n logger.go:42: 08:50:02 | keystone_scale/2-scale-down-keystoneapi | 2025-11-25 08:56:04.326905 | controller | test step completed 2-scale-down-keystoneapi\n logger.go:42: 08:50:02 | keystone_scale/3-scale-down-zero-keystoneapi 2025-11-25 08:56:04.326911 | controller | | starting test step 3-scale-down-zero-keystoneapi\n logger.go:42: 08:50:02 | 2025-11-25 08:56:04.326916 | controller | keystone_scale/3-scale-down-zero-keystoneapi | running command: [sh -c oc patch 2025-11-25 08:56:04.326922 | controller | keystoneapi -n $NAMESPACE keystone --type='json' -p='[{\"op\": \"replace\", \"path\": 2025-11-25 08:56:04.326928 | controller | \"/spec/replicas\", \"value\":0}]'\n ]\n logger.go:42: 08:50:02 | keystone_scale/3-scale-down-zero-keystoneapi 2025-11-25 08:56:04.326934 | controller | | keystoneapi.keystone.openstack.org/keystone patched\n logger.go:42: 08:50:06 2025-11-25 08:56:04.326940 | controller | | keystone_scale/3-scale-down-zero-keystoneapi | test step completed 3-scale-down-zero-keystoneapi\n 2025-11-25 08:56:04.326946 | controller | \ logger.go:42: 08:50:06 | keystone_scale/4-cleanup-keystone | starting test step 2025-11-25 08:56:04.326951 | controller | 4-cleanup-keystone\n logger.go:42: 08:50:07 | keystone_scale/4-cleanup-keystone 2025-11-25 08:56:04.326957 | controller | | test step completed 4-cleanup-keystone\n logger.go:42: 08:50:07 | keystone_scale 2025-11-25 08:56:04.326963 | controller | | skipping kubernetes event logging\n=== CONT kuttl/harness/keystone_tls\n logger.go:42: 2025-11-25 08:56:04.326969 | controller | 08:50:07 | keystone_tls | Skipping creation of user-supplied namespace: keystone-kuttl-tests\n 2025-11-25 08:56:04.326975 | controller | \ logger.go:42: 08:50:07 | keystone_tls/0-tls_ca_bundle | starting test step 0-tls_ca_bundle\n 2025-11-25 08:56:04.326980 | controller | \ logger.go:42: 08:50:07 | keystone_tls/0-tls_ca_bundle | Secret:keystone-kuttl-tests/combined-ca-bundle 2025-11-25 08:56:04.326986 | controller | created\n logger.go:42: 08:50:07 | keystone_tls/0-tls_ca_bundle | Secret:keystone-kuttl-tests/cert-keystone-internal-svc 2025-11-25 08:56:04.326992 | controller | created\n logger.go:42: 08:50:07 | keystone_tls/0-tls_ca_bundle | Secret:keystone-kuttl-tests/cert-keystone-public-svc 2025-11-25 08:56:04.326998 | controller | created\n logger.go:42: 08:50:07 | keystone_tls/0-tls_ca_bundle | test step completed 2025-11-25 08:56:04.327007 | controller | 0-tls_ca_bundle\n logger.go:42: 08:50:07 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 08:56:04.327013 | controller | | starting test step 1-keystoneapi_tls_deploy\n logger.go:42: 08:50:07 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 08:56:04.327018 | controller | | KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 08:50:07 2025-11-25 08:56:04.327027 | controller | | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.327033 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.327038 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.327044 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.327050 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.327063 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.327069 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.327078 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.327123 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.327130 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.327137 | controller | \ logger.go:42: 08:50:07 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 08:56:04.327143 | controller | : do not match regex\n logger.go:42: 08:50:08 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 08:56:04.327150 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.327159 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.327166 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.327173 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.327179 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.327186 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.327192 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.327199 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.327205 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.327212 | controller | \ logger.go:42: 08:50:08 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 08:56:04.327218 | controller | : do not match regex\n logger.go:42: 08:50:09 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 08:56:04.327224 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.327231 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.327237 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.327244 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.327250 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.327257 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.327266 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.327273 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.327279 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.327286 | controller | \ logger.go:42: 08:50:09 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 08:56:04.327292 | controller | : do not match regex\n logger.go:42: 08:50:10 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 08:56:04.327299 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.327305 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.327311 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.327318 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.327324 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.327331 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.327340 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.327346 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.327352 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.327358 | controller | \ logger.go:42: 08:50:10 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 08:56:04.327364 | controller | : do not match regex\n logger.go:42: 08:50:11 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 08:56:04.327369 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.327383 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.327389 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.327395 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.327401 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.327407 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.327413 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.327419 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.327425 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.327430 | controller | \ logger.go:42: 08:50:11 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 08:56:04.327436 | controller | : do not match regex\n logger.go:42: 08:50:12 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 08:56:04.327442 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.327448 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.327454 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.327460 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.327471 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.327477 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.327483 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.327491 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.327497 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.327503 | controller | \ logger.go:42: 08:50:13 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 08:56:04.327509 | controller | : do not match regex\n logger.go:42: 08:50:14 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 08:56:04.327514 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.327520 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.327526 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.327532 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.327538 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.327544 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.327549 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.327555 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.327561 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.327567 | controller | \ logger.go:42: 08:50:14 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 08:56:04.327573 | controller | : do not match regex\n logger.go:42: 08:50:15 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 08:56:04.327578 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.327584 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.327590 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.327596 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.327696 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.327702 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.327708 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.327713 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.327726 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.327732 | controller | \ logger.go:42: 08:50:15 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 08:56:04.327738 | controller | : do not match regex\n logger.go:42: 08:50:16 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 08:56:04.327744 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.327750 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.327756 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.327765 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.327770 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.327776 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.327782 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.327788 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.327794 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.327800 | controller | \ logger.go:42: 08:50:16 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 08:56:04.327805 | controller | : do not match regex\n logger.go:42: 08:50:17 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 08:56:04.327811 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.327817 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.327823 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.327829 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.327835 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.327840 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.327846 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.327852 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.327858 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.327864 | controller | \ logger.go:42: 08:50:17 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 08:56:04.327870 | controller | : do not match regex\n logger.go:42: 08:50:18 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 08:56:04.327878 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.327884 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.327890 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.327895 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.327901 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.327907 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.327913 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.327919 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.327925 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.327930 | controller | \ logger.go:42: 08:50:18 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 08:56:04.327936 | controller | : do not match regex\n logger.go:42: 08:50:19 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 08:56:04.327942 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.327950 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.327956 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.327962 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.327977 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.327983 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.327989 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.327995 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.328001 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.328007 | controller | \ logger.go:42: 08:50:20 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 08:56:04.328013 | controller | : do not match regex\n logger.go:42: 08:50:21 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 08:56:04.328018 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.328024 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.328030 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.328036 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.328042 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.328048 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.328054 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.328059 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.328065 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.328071 | controller | \ logger.go:42: 08:50:21 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 08:56:04.328077 | controller | : do not match regex\n logger.go:42: 08:50:22 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 08:56:04.328083 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.328088 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.328094 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.328114 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.328123 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.328129 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.328134 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.328140 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.328146 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.328152 | controller | \ logger.go:42: 08:50:22 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 08:56:04.328158 | controller | : do not match regex\n logger.go:42: 08:50:23 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 08:56:04.328167 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.328173 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.328179 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.328185 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.328191 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.328197 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.328205 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.328211 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.328217 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.328223 | controller | \ logger.go:42: 08:50:24 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.328228 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.328234 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.328248 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.328254 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.328260 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.328266 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.328272 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.328278 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.328284 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.328289 | controller | \ logger.go:42: 08:50:25 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.328295 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.328301 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.328307 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.328313 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.328319 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.328324 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.328330 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.328336 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.328342 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.328348 | controller | \ logger.go:42: 08:50:26 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.328353 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.328359 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.328368 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.328374 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.328379 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.328385 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.328391 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.328397 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.328403 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.328409 | controller | \ logger.go:42: 08:50:28 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.328414 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.328420 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.328426 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.328432 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.328438 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.328444 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.328449 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.328455 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.328461 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.328469 | controller | \ logger.go:42: 08:50:29 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.328475 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.328481 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.328487 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.328493 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.328506 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.328512 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.328518 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.328524 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.328529 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.328535 | controller | \ logger.go:42: 08:50:30 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.328541 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.328547 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.328552 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.328558 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.328567 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.328573 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.328579 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.328584 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.328590 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.328596 | controller | \ logger.go:42: 08:50:31 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.328602 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.328608 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.328613 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.328619 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.328628 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.328635 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.328641 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.328647 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.328653 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.328659 | controller | \ logger.go:42: 08:50:32 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.328664 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.328670 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.328676 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.328682 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.328688 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.328694 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.328699 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.328705 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.328711 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.328717 | controller | \ logger.go:42: 08:50:33 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.328723 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.328728 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.328736 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.328742 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.328748 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.328761 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.328770 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.328776 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.328781 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.328787 | controller | \ logger.go:42: 08:50:35 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.328793 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.328799 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.328805 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.328811 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.328816 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.328822 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.328828 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.328834 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.328840 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.328845 | controller | \ logger.go:42: 08:50:36 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.328851 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.328857 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.328863 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.328868 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.328874 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.328880 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.328886 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.328892 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.328897 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.328903 | controller | \ logger.go:42: 08:50:37 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.328909 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.328915 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.328921 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.328926 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.328932 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.328938 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.328944 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.328950 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.328961 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.328966 | controller | \ logger.go:42: 08:50:38 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.328972 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.328978 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.328984 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.328990 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.328995 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.329001 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.329007 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.329019 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.329028 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.329034 | controller | \ logger.go:42: 08:50:39 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.329040 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.329046 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.329051 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.329057 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.329063 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.329069 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.329075 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.329081 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.329086 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.329092 | controller | \ logger.go:42: 08:50:40 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.329111 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.329120 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.329126 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.329132 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.329138 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.329144 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.329149 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.329155 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.329161 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.329167 | controller | \ logger.go:42: 08:50:42 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.329173 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.329181 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.329187 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.329193 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.329199 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.329205 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.329210 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.329216 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.329222 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.329228 | controller | \ logger.go:42: 08:50:43 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.329234 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.329239 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.329245 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.329251 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.329257 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.329324 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.329331 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.329337 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.329343 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.329358 | controller | \ logger.go:42: 08:50:44 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.329364 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.329374 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.329380 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.329386 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.329392 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.329397 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.329403 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.329409 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.329415 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.329420 | controller | \ logger.go:42: 08:50:45 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.329426 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.329432 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.329438 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.329488 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.329495 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.329500 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.329506 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.329512 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.329518 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.329524 | controller | \ logger.go:42: 08:50:46 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.329529 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.329535 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.329541 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.329547 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.329553 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.329559 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.329564 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.329570 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.329576 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.329582 | controller | \ logger.go:42: 08:50:47 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.329587 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.329593 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.329599 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.329605 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.329614 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.329619 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.329625 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.329631 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.329637 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.329643 | controller | \ logger.go:42: 08:50:49 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.329649 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.329666 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.329672 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.329678 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.329684 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.329693 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.329699 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.329707 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.329713 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.329719 | controller | \ logger.go:42: 08:50:50 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.329725 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.329730 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.329736 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.329742 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.329748 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.329754 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.329759 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.329765 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.329771 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.329777 | controller | \ logger.go:42: 08:50:51 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.329783 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.329788 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.329794 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.329800 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.329806 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.329812 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.329817 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.329823 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.329829 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.329835 | controller | \ logger.go:42: 08:50:52 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.329840 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.329846 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.329852 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.329858 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.329864 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.329870 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.329875 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.329884 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.329890 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.329896 | controller | \ logger.go:42: 08:50:53 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.329901 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.329907 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.329913 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.329926 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.329932 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.329938 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.329944 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.329949 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.329955 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.329961 | controller | \ logger.go:42: 08:50:55 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.329970 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.329975 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.329981 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.329987 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.329993 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.329999 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.330005 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.330010 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.330016 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.330022 | controller | \ logger.go:42: 08:50:56 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.330028 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.330034 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.330039 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.330045 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.330051 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.330057 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.330063 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.330068 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.330074 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.330083 | controller | \ logger.go:42: 08:50:57 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.330089 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.330094 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.330121 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.330130 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.330136 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.330142 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.330148 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.330153 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.330159 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.330165 | controller | \ logger.go:42: 08:50:58 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.330171 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.330177 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.330182 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.330188 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.330202 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.330212 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.330218 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.330224 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.330230 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.330236 | controller | \ logger.go:42: 08:50:59 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.330242 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.330247 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.330253 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.330259 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.330265 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.330271 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.330279 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.330285 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.330291 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.330297 | controller | \ logger.go:42: 08:51:00 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.330302 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 08:56:04.330309 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.330317 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 08:56:04.330323 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.330329 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.330335 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.330341 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.330346 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.330352 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 08:56:04.330358 | controller | \ logger.go:42: 08:51:01 | keystone_tls/1-keystoneapi_tls_deploy | test step completed 2025-11-25 08:56:04.330364 | controller | 1-keystoneapi_tls_deploy\n logger.go:42: 08:51:01 | keystone_tls/2-cleanup-keystone 2025-11-25 08:56:04.330370 | controller | | starting test step 2-cleanup-keystone\n logger.go:42: 08:51:05 | keystone_tls/2-cleanup-keystone 2025-11-25 08:56:04.330375 | controller | | test step completed 2-cleanup-keystone\n logger.go:42: 08:51:05 | keystone_tls 2025-11-25 08:56:04.330381 | controller | | skipping kubernetes event logging\n=== CONT kuttl/harness/keystone_resources\n 2025-11-25 08:56:04.330387 | controller | \ logger.go:42: 08:51:05 | keystone_resources | Skipping creation of user-supplied 2025-11-25 08:56:04.330393 | controller | namespace: keystone-kuttl-tests\n logger.go:42: 08:51:05 | keystone_resources/0-deploy_keystone 2025-11-25 08:56:04.330399 | controller | | starting test step 0-deploy_keystone\n logger.go:42: 08:51:05 | keystone_resources/0-deploy_keystone 2025-11-25 08:56:04.330404 | controller | | KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 08:51:05 2025-11-25 08:56:04.330410 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.330416 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.330422 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.330428 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.330434 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.330439 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.330445 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.330451 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.330464 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.330470 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.330476 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.330485 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.330491 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.330497 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.330502 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.330519 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.330525 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.330531 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.330537 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.330543 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.330549 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.330554 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.330560 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:05 2025-11-25 08:56:04.330569 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-11-25 08:56:04.330574 | controller | not match regex\n logger.go:42: 08:51:06 | keystone_resources/0-deploy_keystone 2025-11-25 08:56:04.330580 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.330586 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.330592 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.330598 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.330604 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.330609 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.330615 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.330621 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.330627 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.330633 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.330638 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.330644 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.330650 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.330656 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.330667 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.330673 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.330679 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.330685 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.330691 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.330696 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.330702 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.330708 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:06 2025-11-25 08:56:04.330716 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-11-25 08:56:04.330722 | controller | not match regex\n logger.go:42: 08:51:07 | keystone_resources/0-deploy_keystone 2025-11-25 08:56:04.330735 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.330742 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.330747 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.330753 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.330759 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.330765 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.330771 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.330777 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.330783 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.330789 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.330794 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.330800 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.330806 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.330812 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.330823 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.330829 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.330835 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.330841 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.330847 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.330852 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.330858 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.330867 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:07 2025-11-25 08:56:04.330873 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-11-25 08:56:04.330879 | controller | not match regex\n logger.go:42: 08:51:08 | keystone_resources/0-deploy_keystone 2025-11-25 08:56:04.330884 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.330890 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.330896 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.330904 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.330910 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.330920 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.330926 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.330932 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.330938 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.330944 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.330949 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.330955 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.330961 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.330967 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.330979 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.330984 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.330998 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.331004 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.331012 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.331018 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.331024 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.331030 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:09 2025-11-25 08:56:04.331036 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-11-25 08:56:04.331042 | controller | not match regex\n logger.go:42: 08:51:10 | keystone_resources/0-deploy_keystone 2025-11-25 08:56:04.331047 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.331053 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.331059 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.331065 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.331071 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.331077 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.331084 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.331115 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.331126 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.331132 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.331138 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.331144 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.331149 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.331159 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.331170 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.331176 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.331182 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.331188 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.331193 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.331199 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.331208 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.331214 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:10 2025-11-25 08:56:04.331220 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-11-25 08:56:04.331225 | controller | not match regex\n logger.go:42: 08:51:11 | keystone_resources/0-deploy_keystone 2025-11-25 08:56:04.331231 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.331238 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.331243 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.331249 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.331257 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.331263 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.331269 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.331275 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.331281 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.331295 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.331302 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.331308 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.331313 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.331319 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.331331 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.331337 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.331343 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.331348 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.331354 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.331363 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.331369 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.331375 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:11 2025-11-25 08:56:04.331380 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-11-25 08:56:04.331386 | controller | not match regex\n logger.go:42: 08:51:12 | keystone_resources/0-deploy_keystone 2025-11-25 08:56:04.331392 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.331398 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.331404 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.331409 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.331415 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.331421 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.331427 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.331433 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.331439 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.331445 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.331450 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.331456 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.331462 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.331468 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.331479 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.331485 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.331491 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.331497 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.331503 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.331511 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.331517 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.331523 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:12 2025-11-25 08:56:04.331529 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-11-25 08:56:04.331534 | controller | not match regex\n logger.go:42: 08:51:13 | keystone_resources/0-deploy_keystone 2025-11-25 08:56:04.331540 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.331546 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.331559 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.331568 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.331574 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.331580 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.331586 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.331592 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.331597 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.331603 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.331651 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.331660 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.331666 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.331672 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.331684 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.331690 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.331696 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.331701 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.331707 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.331713 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.331719 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.331725 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:13 2025-11-25 08:56:04.331731 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-11-25 08:56:04.331739 | controller | not match regex\n logger.go:42: 08:51:14 | keystone_resources/0-deploy_keystone 2025-11-25 08:56:04.331753 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.331766 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.331833 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.331841 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.331849 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.331856 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.331906 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.331917 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.331922 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.331928 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.331938 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.331944 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.331949 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.331955 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.331967 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.331973 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.331979 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.332001 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.332008 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.332014 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.332020 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.332025 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:15 2025-11-25 08:56:04.332031 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-11-25 08:56:04.332037 | controller | not match regex\n logger.go:42: 08:51:16 | keystone_resources/0-deploy_keystone 2025-11-25 08:56:04.332043 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.332049 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.332055 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.332061 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.332066 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.332072 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.332078 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.332084 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.332090 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.332098 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.332120 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.332126 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.332132 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.332138 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.332149 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.332158 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.332164 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.332173 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.332179 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.332185 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.332191 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.332197 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:16 2025-11-25 08:56:04.332203 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-11-25 08:56:04.332208 | controller | not match regex\n logger.go:42: 08:51:17 | keystone_resources/0-deploy_keystone 2025-11-25 08:56:04.332214 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.332220 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.332226 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.332232 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.332238 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.332243 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.332249 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.332255 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.332261 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.332267 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.332273 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.332286 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.332293 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.332299 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.332314 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.332320 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.332326 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.332331 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.332337 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.332343 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.332349 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.332355 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:17 2025-11-25 08:56:04.332361 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-11-25 08:56:04.332366 | controller | not match regex\n logger.go:42: 08:51:18 | keystone_resources/0-deploy_keystone 2025-11-25 08:56:04.332375 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 08:56:04.332381 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 08:56:04.332387 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 08:56:04.332392 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.332398 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.332404 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.332410 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.332416 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.332422 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.332428 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.332433 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.332439 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.332445 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.332451 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.332463 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.332468 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.332474 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.332480 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.332486 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.332492 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.332497 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.332503 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:19 2025-11-25 08:56:04.332509 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.332515 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.332521 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.332527 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.332532 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.332548 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.332554 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.332560 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.332566 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.332572 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.332581 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.332587 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.332593 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.332599 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.332604 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.332618 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.332624 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.332630 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.332636 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.332642 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.332648 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.332654 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.332659 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:20 2025-11-25 08:56:04.332665 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.332671 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.332677 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.332683 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.332688 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.332694 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.332700 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.332706 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.332712 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.332717 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.332723 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.332729 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.332735 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.332741 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.332746 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.332758 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.332764 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.332770 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.332778 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.332784 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.332790 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.332796 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.332801 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:21 2025-11-25 08:56:04.332815 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.332821 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.332827 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.332833 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.332838 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.332844 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.332850 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.332856 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.332862 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.332867 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.332873 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.332882 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.332888 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.332893 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.332899 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.332911 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.332917 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.332923 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.332931 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.332939 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.332945 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.332951 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.332957 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:23 2025-11-25 08:56:04.332963 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.332968 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.332974 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.332980 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.332989 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.332995 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.333000 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.333006 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.333012 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.333018 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.333024 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.333030 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.333035 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.333041 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.333047 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.333059 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.333064 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.333078 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.333084 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.333090 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.333098 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.333117 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.333124 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:24 2025-11-25 08:56:04.333129 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.333135 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.333141 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.333147 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.333153 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.333159 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.333164 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.333170 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.333176 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.333182 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.333188 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.333193 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.333202 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.333208 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.333214 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.333225 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.333231 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.333237 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.333243 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.333249 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.333257 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.333263 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.333269 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:25 2025-11-25 08:56:04.333275 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.333280 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.333286 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.333292 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.333298 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.333304 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.333310 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.333316 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.333321 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.333327 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.333333 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.333339 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.333345 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.333358 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.333364 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.333376 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.333382 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.333388 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.333394 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.333400 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.333408 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.333414 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.333420 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:26 2025-11-25 08:56:04.333426 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.333431 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.333437 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.333443 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.333449 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.333455 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.333460 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.333466 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.333472 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.333478 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.333484 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.333489 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.333495 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.333501 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.333507 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.333518 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.333524 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.333530 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.333536 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.333542 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.333548 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.333559 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.333565 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:27 2025-11-25 08:56:04.333571 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.333577 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.333583 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.333588 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.333594 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.333608 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.333616 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.333622 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.333635 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.333641 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.333647 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.333653 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.333659 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.333665 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.333671 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.333682 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.333688 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.333694 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.333700 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.333705 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.333711 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.333717 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.333723 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:28 2025-11-25 08:56:04.333729 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.333735 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.333740 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.333746 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.333753 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.333760 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.333767 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.333773 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.333778 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.333784 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.333790 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.333796 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.333802 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.333807 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.333813 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.333829 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.333836 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.333842 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.333848 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.333854 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.333859 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.333865 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.333874 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:30 2025-11-25 08:56:04.333880 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.333886 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.333892 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.333905 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.333911 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.333917 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.333923 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.333929 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.333934 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.333940 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.333946 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.333952 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.333958 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.333963 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.333969 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.333981 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.333987 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.333992 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.333998 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.334004 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.334010 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.334016 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.334021 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:31 2025-11-25 08:56:04.334031 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.334037 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.334042 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.334048 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.334054 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.334060 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.334066 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.334071 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.334077 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.334083 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.334089 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.334095 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.334129 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.334136 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.334142 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.334153 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.334159 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.334165 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.334171 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.334176 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.334182 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.334196 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.334202 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:32 2025-11-25 08:56:04.334212 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.334218 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.334224 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.334230 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.334235 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.334241 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.334247 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.334253 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.334261 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.334270 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.334276 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.334282 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.334288 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.334293 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.334299 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.334311 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.334319 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.334325 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.334331 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.334337 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.334343 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.334348 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.334354 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:33 2025-11-25 08:56:04.334360 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.334366 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.334372 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.334377 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.334383 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.334389 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.334395 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.334401 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.334407 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.334412 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.334418 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.334424 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.334430 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.334436 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.334442 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.334453 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.334469 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.334475 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.334481 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.334486 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.334492 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.334498 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.334504 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:34 2025-11-25 08:56:04.334510 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.334518 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.334524 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.334530 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.334536 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.334542 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.334548 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.334553 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.334559 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.334565 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.334571 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.334577 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.334582 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.334588 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.334594 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.334606 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.334612 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.334618 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.334623 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.334629 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.334635 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.334641 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.334647 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:36 2025-11-25 08:56:04.334653 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.334658 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.334667 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.334673 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.334679 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.334684 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.334690 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.334696 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.334702 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.334708 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.334713 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.334719 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.334732 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.334738 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.334744 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.334755 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.334761 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.334767 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.334773 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.334779 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.334785 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.334790 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.334796 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:37 2025-11-25 08:56:04.334802 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.334809 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.334819 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.334825 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.334831 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.334836 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.334842 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.334848 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.334854 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.334860 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.334866 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.334874 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.334880 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.334886 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.334892 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.334903 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.334909 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.334915 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.334921 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.334927 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.334932 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.334938 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.334944 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:38 2025-11-25 08:56:04.334950 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.334956 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.334961 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.334967 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.334973 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.334979 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.334992 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.334998 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.335004 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.335009 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.335015 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.335026 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.335032 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.335038 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.335044 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.335056 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.335062 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.335067 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.335073 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.335081 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.335087 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.335093 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.335133 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:39 2025-11-25 08:56:04.335143 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.335149 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.335154 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.335164 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.335170 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.335176 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.335182 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.335187 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.335195 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.335209 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.335222 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.335230 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.335238 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.335245 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.335251 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.335262 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.335268 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.335274 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.335280 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.335285 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.335291 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.335297 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.335303 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:40 2025-11-25 08:56:04.335309 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.335326 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.335332 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.335338 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.335344 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.335354 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.335360 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.335366 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.335372 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.335378 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.335384 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.335390 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.335395 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.335401 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.335407 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.335418 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.335424 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.335430 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.335436 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.335442 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.335447 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.335453 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.335459 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:42 2025-11-25 08:56:04.335465 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.335471 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.335476 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.335482 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.335488 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.335494 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.335500 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.335509 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.335515 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.335521 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.335527 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.335532 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.335538 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.335544 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.335553 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.335567 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.335572 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.335578 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.335584 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.335598 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.335604 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.335610 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.335615 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:43 2025-11-25 08:56:04.335621 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.335627 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.335633 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.335639 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.335645 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.335650 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.335656 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.335662 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.335668 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.335674 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.335679 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.335685 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.335691 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.335697 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.335703 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.335714 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.335720 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.335726 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.335732 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.335737 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.335743 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.335752 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.335758 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:44 2025-11-25 08:56:04.335763 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.335769 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.335775 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.335781 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.335787 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.335795 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.335801 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.335807 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.335815 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.335821 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.335827 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.335832 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.335838 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.335844 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.335850 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.335871 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.335877 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.335883 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.335889 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.335895 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.335901 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.335906 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.335912 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:45 2025-11-25 08:56:04.335918 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.335924 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.335929 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.335935 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.335941 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.335947 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.335953 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.335961 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.335967 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.335973 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.335979 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.335984 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.335990 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.335996 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.336002 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.336013 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.336019 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.336025 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.336031 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.336037 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.336043 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.336048 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.336054 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:46 2025-11-25 08:56:04.336060 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.336066 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.336072 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.336077 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.336083 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.336089 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.336095 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.336121 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.336127 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.336136 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.336150 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.336156 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.336162 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.336168 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.336175 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.336195 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.336203 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.336210 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.336218 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.336226 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.336232 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.336238 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.336243 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:47 2025-11-25 08:56:04.336249 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.336255 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.336262 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.336269 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.336275 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.336281 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.336287 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.336292 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.336298 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.336304 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.336310 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.336315 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.336321 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.336327 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.336334 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.336346 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.336352 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.336358 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.336364 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.336370 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.336375 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.336381 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.336387 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:49 2025-11-25 08:56:04.336393 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.336402 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.336408 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.336414 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.336428 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.336435 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.336441 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.336447 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.336453 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.336458 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.336468 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.336474 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.336479 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.336485 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.336491 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.336503 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.336513 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.336519 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.336525 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.336531 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.336537 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.336543 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.336548 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:50 2025-11-25 08:56:04.336554 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.336560 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.336566 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.336572 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.336577 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.336583 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.336589 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.336595 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.336601 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.336606 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.336615 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.336621 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.336627 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.336632 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.336638 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.336650 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.336656 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.336661 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.336667 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.336673 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.336679 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.336685 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.336698 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:51 2025-11-25 08:56:04.336707 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.336712 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.336718 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.336724 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.336730 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.336736 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.336742 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.336747 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.336753 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.336759 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.336765 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.336771 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.336776 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.336782 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.336790 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.336802 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.336808 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.336814 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.336822 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.336830 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.336836 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.336842 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.336848 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:52 2025-11-25 08:56:04.336854 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.336860 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.336865 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.336871 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.336877 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.336883 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.336889 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.336895 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.336900 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.336906 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.336912 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.336918 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.336924 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.336929 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.336935 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.336947 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.336953 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.336966 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.336972 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.336978 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.336983 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.336989 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.336995 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:54 2025-11-25 08:56:04.337001 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.337007 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.337013 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.337018 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.337027 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.337033 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.337039 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.337044 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.337050 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.337056 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.337062 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.337068 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.337073 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.337079 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.337085 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.337114 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.337123 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.337129 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.337135 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.337141 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.337146 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.337152 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.337158 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:55 2025-11-25 08:56:04.337164 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.337170 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.337175 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.337181 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.337187 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.337193 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.337199 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.337205 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.337210 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.337216 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.337222 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.337231 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.337237 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.337254 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.337261 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.337272 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.337278 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.337284 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.337290 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.337296 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.337301 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.337307 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.337313 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:51:55 2025-11-25 08:56:04.337319 | controller | | keystone_resources/0-deploy_keystone | test step completed 0-deploy_keystone\n 2025-11-25 08:56:04.337325 | controller | \ logger.go:42: 08:51:55 | keystone_resources/1-deploy-keystoneservice | starting 2025-11-25 08:56:04.337330 | controller | test step 1-deploy-keystoneservice\n logger.go:42: 08:51:55 | keystone_resources/1-deploy-keystoneservice 2025-11-25 08:56:04.337336 | controller | | KeystoneService:keystone-kuttl-tests/placement created\n logger.go:42: 08:51:57 2025-11-25 08:56:04.337342 | controller | | keystone_resources/1-deploy-keystoneservice | test step completed 1-deploy-keystoneservice\n 2025-11-25 08:56:04.337348 | controller | \ logger.go:42: 08:51:57 | keystone_resources/2-deploy-keystoneendpoint | starting 2025-11-25 08:56:04.337353 | controller | test step 2-deploy-keystoneendpoint\n logger.go:42: 08:51:57 | keystone_resources/2-deploy-keystoneendpoint 2025-11-25 08:56:04.337359 | controller | | KeystoneEndpoint:keystone-kuttl-tests/placement created\n logger.go:42: 08:52:08 2025-11-25 08:56:04.337365 | controller | | keystone_resources/2-deploy-keystoneendpoint | test step completed 2-deploy-keystoneendpoint\n 2025-11-25 08:56:04.337371 | controller | \ logger.go:42: 08:52:08 | keystone_resources/3-cleanup-keystoneendpoint | starting 2025-11-25 08:56:04.337377 | controller | test step 3-cleanup-keystoneendpoint\n logger.go:42: 08:52:09 | keystone_resources/3-cleanup-keystoneendpoint 2025-11-25 08:56:04.337382 | controller | | test step completed 3-cleanup-keystoneendpoint\n logger.go:42: 08:52:09 | keystone_resources/4-cleanup-keystoneservice 2025-11-25 08:56:04.337388 | controller | | starting test step 4-cleanup-keystoneservice\n logger.go:42: 08:52:11 | keystone_resources/4-cleanup-keystoneservice 2025-11-25 08:56:04.337394 | controller | | test step completed 4-cleanup-keystoneservice\n logger.go:42: 08:52:11 | keystone_resources/5-cleanup-keystone 2025-11-25 08:56:04.337400 | controller | | starting test step 5-cleanup-keystone\n logger.go:42: 08:52:15 | keystone_resources/5-cleanup-keystone 2025-11-25 08:56:04.337406 | controller | | test step completed 5-cleanup-keystone\n logger.go:42: 08:52:15 | keystone_resources 2025-11-25 08:56:04.337412 | controller | | skipping kubernetes event logging\n=== CONT kuttl/harness/fernet_rotation\n logger.go:42: 2025-11-25 08:56:04.337417 | controller | 08:52:15 | fernet_rotation | Skipping creation of user-supplied namespace: keystone-kuttl-tests\n 2025-11-25 08:56:04.337423 | controller | \ logger.go:42: 08:52:15 | fernet_rotation/0-deploy_keystone | starting test step 2025-11-25 08:56:04.337429 | controller | 0-deploy_keystone\n logger.go:42: 08:52:15 | fernet_rotation/0-deploy_keystone 2025-11-25 08:56:04.337437 | controller | | KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 08:52:15 2025-11-25 08:56:04.337443 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.337451 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.337457 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.337465 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.337471 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.337477 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.337483 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.337489 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.337495 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.337507 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.337514 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.337519 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.337525 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.337531 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.337537 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.337549 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.337554 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.337560 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.337566 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.337572 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.337578 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.337584 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.337589 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:16 2025-11-25 08:56:04.337595 | controller | | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 08:56:04.337601 | controller | match regex\n logger.go:42: 08:52:17 | fernet_rotation/0-deploy_keystone | running 2025-11-25 08:56:04.337607 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.337613 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 08:56:04.337618 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 08:56:04.337624 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.337630 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.337636 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.337645 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.337651 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.337656 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.337662 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.337668 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.337674 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.337680 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.337685 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.337697 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.337703 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.337709 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.337715 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.337720 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.337726 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.337732 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.337738 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:17 2025-11-25 08:56:04.337744 | controller | | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 08:56:04.337752 | controller | match regex\n logger.go:42: 08:52:18 | fernet_rotation/0-deploy_keystone | running 2025-11-25 08:56:04.337758 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.337770 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 08:56:04.337776 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 08:56:04.337782 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.337788 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.337794 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.337800 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.337806 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.337812 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.337817 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.337823 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.337829 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.337835 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.337848 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.337859 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.337865 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.337871 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.337877 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.337882 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.337888 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.337894 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.337900 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:18 2025-11-25 08:56:04.337906 | controller | | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 08:56:04.337912 | controller | match regex\n logger.go:42: 08:52:19 | fernet_rotation/0-deploy_keystone | running 2025-11-25 08:56:04.337917 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.337923 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 08:56:04.337929 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 08:56:04.337935 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.337941 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.337949 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.337955 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.337961 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.337967 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.337972 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.337978 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.337984 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.337990 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.337996 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.338007 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.338013 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.338026 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.338032 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.338038 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.338044 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.338053 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.338059 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:19 2025-11-25 08:56:04.338067 | controller | | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 08:56:04.338073 | controller | match regex\n logger.go:42: 08:52:20 | fernet_rotation/0-deploy_keystone | running 2025-11-25 08:56:04.338079 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.338085 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 08:56:04.338090 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 08:56:04.338117 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.338127 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.338133 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.338139 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.338145 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.338151 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.338157 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.338162 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.338168 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.338174 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.338180 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.338192 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.338198 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.338203 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.338209 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.338218 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.338224 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.338230 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.338236 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:20 2025-11-25 08:56:04.338242 | controller | | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 08:56:04.338247 | controller | match regex\n logger.go:42: 08:52:21 | fernet_rotation/0-deploy_keystone | running 2025-11-25 08:56:04.338253 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.338259 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 08:56:04.338265 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 08:56:04.338271 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.338280 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.338285 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.338291 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.338297 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.338303 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.338309 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.338325 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.338331 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.338337 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.338343 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.338355 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.338360 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.338366 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.338372 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.338378 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.338384 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.338390 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.338398 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:22 2025-11-25 08:56:04.338404 | controller | | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 08:56:04.338410 | controller | match regex\n logger.go:42: 08:52:23 | fernet_rotation/0-deploy_keystone | running 2025-11-25 08:56:04.338416 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.338421 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 08:56:04.338427 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 08:56:04.338433 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.338439 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.338445 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.338451 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.338456 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.338462 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.338468 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.338474 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.338483 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.338489 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.338494 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.338506 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.338512 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.338518 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.338523 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.338529 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.338535 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.338541 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.338547 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:23 2025-11-25 08:56:04.338553 | controller | | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 08:56:04.338558 | controller | match regex\n logger.go:42: 08:52:24 | fernet_rotation/0-deploy_keystone | running 2025-11-25 08:56:04.338564 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.338570 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 08:56:04.338576 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 08:56:04.338589 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.338595 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.338601 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.338607 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.338612 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.338618 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.338624 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.338630 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.338636 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.338642 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.338648 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.338659 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.338665 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.338671 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.338677 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.338688 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.338694 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.338702 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.338708 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:24 2025-11-25 08:56:04.338713 | controller | | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 08:56:04.338719 | controller | match regex\n logger.go:42: 08:52:25 | fernet_rotation/0-deploy_keystone | running 2025-11-25 08:56:04.338725 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.338731 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 08:56:04.338737 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 08:56:04.338743 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.338749 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.338754 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.338760 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.338766 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.338772 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.338778 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.338784 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.338789 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.338795 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.338801 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.338813 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.338819 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.338824 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.338830 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.338843 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.338849 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.338855 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.338861 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:25 2025-11-25 08:56:04.338867 | controller | | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 08:56:04.338872 | controller | match regex\n logger.go:42: 08:52:26 | fernet_rotation/0-deploy_keystone | running 2025-11-25 08:56:04.338878 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.338884 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 08:56:04.338893 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 08:56:04.338899 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.338904 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.338910 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.338916 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.338922 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.338928 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.338934 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.338939 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.338945 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.338951 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.338957 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.338968 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.338974 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.338980 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.338986 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.338992 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.339000 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.339006 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.339012 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:26 2025-11-25 08:56:04.339018 | controller | | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 08:56:04.339023 | controller | match regex\n logger.go:42: 08:52:27 | fernet_rotation/0-deploy_keystone | running 2025-11-25 08:56:04.339029 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.339035 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 08:56:04.339041 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 08:56:04.339047 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.339053 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.339058 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.339064 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.339070 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.339076 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.339084 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.339090 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.339099 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.339150 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.339157 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.339169 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.339175 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.339181 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.339187 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.339193 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.339199 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.339204 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.339210 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:27 2025-11-25 08:56:04.339216 | controller | | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 08:56:04.339222 | controller | match regex\n logger.go:42: 08:52:28 | fernet_rotation/0-deploy_keystone | running 2025-11-25 08:56:04.339228 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.339233 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 08:56:04.339239 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 08:56:04.339245 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.339251 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.339257 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.339263 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.339268 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.339274 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.339280 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.339286 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.339292 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.339298 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.339303 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.339315 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.339324 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.339330 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.339341 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.339347 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.339353 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.339359 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.339365 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:30 2025-11-25 08:56:04.339371 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.339377 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.339383 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.339388 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.339394 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.339400 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.339413 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.339419 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.339425 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.339431 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.339437 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.339443 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.339451 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.339457 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.339463 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.339475 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.339480 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.339486 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.339492 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.339498 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.339504 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.339509 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.339515 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:31 2025-11-25 08:56:04.339521 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.339527 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.339536 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.339542 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.339547 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.339553 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.339559 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.339565 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.339571 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.339577 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.339582 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.339588 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.339594 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.339600 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.339606 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.339617 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.339623 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.339629 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.339635 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.339640 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.339649 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.339655 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.339660 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:32 2025-11-25 08:56:04.339666 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.339679 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.339685 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.339691 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.339697 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.339703 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.339709 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.339714 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.339720 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.339726 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.339732 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.339740 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.339746 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.339752 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.339758 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.339770 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.339775 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.339781 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.339787 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.339793 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.339799 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.339805 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.339810 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:33 2025-11-25 08:56:04.339816 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.339822 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.339828 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.339834 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.339839 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.339845 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.339851 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.339857 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.339863 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.339868 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.339874 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.339880 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.339886 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.339892 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.339898 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.339912 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.339918 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.339924 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.339929 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.339945 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.339951 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.339959 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.339965 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:34 2025-11-25 08:56:04.339971 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.339977 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.339983 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.339989 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.339995 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.340000 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.340006 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.340012 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.340018 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.340024 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.340030 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.340035 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.340041 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.340047 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.340053 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.340064 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.340070 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.340076 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.340082 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.340088 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.340094 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.340117 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.340125 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:36 2025-11-25 08:56:04.340131 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.340137 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.340143 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.340149 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.340155 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.340164 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.340172 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.340178 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.340184 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.340190 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.340196 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.340202 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.340208 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.340213 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.340219 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.340239 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.340245 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.340251 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.340257 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.340263 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.340269 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.340274 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.340283 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:37 2025-11-25 08:56:04.340289 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.340295 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.340301 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.340306 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.340312 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.340318 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.340324 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.340330 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.340335 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.340341 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.340347 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.340353 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.340359 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.340364 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.340373 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.340386 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.340393 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.340401 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.340409 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.340417 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.340424 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.340432 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.340440 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:38 2025-11-25 08:56:04.340447 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.340453 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.340458 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.340464 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.340470 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.340476 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.340482 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.340487 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.340493 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.340499 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.340513 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.340520 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.340526 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.340531 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.340537 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.340549 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.340555 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.340561 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.340566 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.340572 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.340578 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.340584 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.340593 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:39 2025-11-25 08:56:04.340602 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.340608 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.340614 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.340620 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.340625 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.340631 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.340637 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.340643 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.340649 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.340655 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.340660 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.340666 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.340672 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.340678 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.340683 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.340695 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.340701 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.340707 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.340713 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.340718 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.340724 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.340730 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.340736 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:40 2025-11-25 08:56:04.340742 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.340747 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.340753 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.340759 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.340765 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.340778 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.340784 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.340792 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.340798 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.340804 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.340810 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.340816 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.340822 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.340827 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.340833 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.340845 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.340851 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.340856 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.340862 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.340873 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.340879 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.340885 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.340891 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:42 2025-11-25 08:56:04.340897 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.340905 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.340911 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.340916 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.340922 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.340928 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.340934 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.340940 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.340946 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.340951 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.340957 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.340963 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.340969 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.340974 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.340980 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.340995 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.341001 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.341006 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.341012 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.341018 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.341024 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.341029 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.341035 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:43 2025-11-25 08:56:04.341050 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.341056 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.341062 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.341068 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.341074 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.341079 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.341085 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.341091 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.341111 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.341121 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.341127 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.341133 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.341138 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.341144 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.341150 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.341162 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.341168 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.341174 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.341179 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.341188 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.341194 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.341200 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.341206 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:44 2025-11-25 08:56:04.341212 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.341220 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.341226 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.341234 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.341240 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.341246 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.341252 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.341258 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.341263 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.341269 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.341275 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.341281 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.341287 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.341293 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.341298 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.341310 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.341316 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.341334 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.341341 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.341349 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.341355 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.341360 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.341366 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:45 2025-11-25 08:56:04.341372 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.341378 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.341384 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.341390 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.341395 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.341401 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.341407 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.341413 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.341419 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.341424 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.341433 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.341439 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.341445 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.341450 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.341456 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.341468 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.341474 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.341482 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.341489 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.341497 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.341505 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.341512 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.341520 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:46 2025-11-25 08:56:04.341528 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.341535 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.341542 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.341553 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.341561 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.341568 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.341575 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.341582 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.341589 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.341596 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.341604 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.341611 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.341622 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.341641 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.341651 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.341666 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.341674 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.341681 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.341693 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.341700 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.341708 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.341715 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.341722 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:48 2025-11-25 08:56:04.341730 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.341737 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.341744 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.341751 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.341758 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.341766 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.341773 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.341780 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.341788 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.341796 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.341803 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.341810 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.341818 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.341825 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.341832 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.341847 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.341854 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.341862 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.341869 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.341877 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.341885 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.341892 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.341900 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:49 2025-11-25 08:56:04.341907 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.341915 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.341922 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.341930 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.341941 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.341948 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.341956 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.341967 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.341985 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.341995 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.342003 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.342011 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.342019 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.342027 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.342035 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.342051 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.342059 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.342067 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.342075 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.342083 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.342091 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.342118 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.342132 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:50 2025-11-25 08:56:04.342141 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.342149 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.342157 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.342165 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.342173 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.342181 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.342188 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.342196 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.342209 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.342217 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.342225 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.342233 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.342241 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.342253 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.342260 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.342274 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.342281 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.342289 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.342297 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.342305 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.342312 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.342320 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.342328 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:51 2025-11-25 08:56:04.342335 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.342343 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.342350 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.342370 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.342379 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.342387 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.342394 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.342402 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.342415 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.342421 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.342427 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.342433 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.342439 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.342445 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.342451 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.342462 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.342468 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.342474 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.342480 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.342485 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.342491 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.342503 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.342509 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:53 2025-11-25 08:56:04.342515 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.342521 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.342526 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.342532 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.342538 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.342544 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.342552 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.342558 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.342564 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.342570 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.342576 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.342581 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.342587 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.342593 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.342599 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.342610 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.342616 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.342622 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.342628 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.342634 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.342639 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.342654 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.342661 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:54 2025-11-25 08:56:04.342666 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.342672 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.342678 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.342684 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.342690 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.342696 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.342702 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.342710 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.342719 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.342724 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.342733 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.342738 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.342744 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.342750 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.342756 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.342768 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.342773 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.342779 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.342785 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.342791 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.342797 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.342803 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.342808 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:55 2025-11-25 08:56:04.342814 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.342820 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.342826 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.342832 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.342837 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.342843 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.342849 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.342855 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.342861 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.342867 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.342872 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.342878 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.342884 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.342890 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.342896 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.342910 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.342925 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.342932 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.342938 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.342944 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.342949 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.342955 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.342961 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:56 2025-11-25 08:56:04.342967 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.342973 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.342979 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.342985 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.342990 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.342996 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.343002 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.343008 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.343014 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.343020 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.343028 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.343034 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.343040 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.343046 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.343052 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.343063 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.343069 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.343075 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.343081 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.343087 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.343092 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.343115 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.343124 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:57 2025-11-25 08:56:04.343150 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.343158 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.343165 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.343173 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.343181 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.343189 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.343196 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.343204 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.343211 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.343218 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.343225 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.343232 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.343248 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.343254 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.343260 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.343273 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.343281 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.343288 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.343355 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.343372 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.343379 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.343386 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.343394 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:52:59 2025-11-25 08:56:04.343402 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.343410 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.343418 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.343426 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.343433 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.343441 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.343449 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.343456 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.343463 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.343474 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.343481 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.343487 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.343493 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.343501 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.343513 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.343529 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.343537 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.343544 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.343552 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.343559 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.343567 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.343574 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.343581 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:53:00 2025-11-25 08:56:04.343589 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.343595 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.343602 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.343610 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.343618 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.343625 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.343647 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.343656 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.343663 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.343671 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.343679 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.343687 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.343694 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.343702 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.343710 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.343725 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.343733 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.343746 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.343754 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.343762 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.343770 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.343778 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.343786 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:53:01 2025-11-25 08:56:04.343793 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.343802 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.343809 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.343817 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.343825 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.343832 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.343840 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.343847 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.343855 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.343862 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.343870 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.343877 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.343885 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.343892 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.343900 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.343920 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.343928 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.343935 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.343943 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.343950 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.343957 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.343965 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.343972 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:53:02 2025-11-25 08:56:04.343980 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.343988 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.344007 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.344019 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.344026 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.344034 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.344041 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.344049 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.344056 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.344064 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.344071 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.344078 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.344084 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.344090 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.344099 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.344137 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.344143 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.344148 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.344154 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.344161 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.344168 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.344176 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.344184 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:53:03 2025-11-25 08:56:04.344192 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.344199 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.344207 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.344214 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.344222 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.344229 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.344236 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.344244 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.344251 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.344259 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.344266 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.344274 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.344292 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.344300 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.344307 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.344325 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.344335 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.344342 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.344350 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.344367 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.344375 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.344382 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.344391 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:53:05 2025-11-25 08:56:04.344407 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.344416 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.344423 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.344431 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.344438 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.344445 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.344453 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.344460 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.344467 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.344474 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.344481 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.344488 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.344495 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.344502 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.344509 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.344523 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.344530 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.344538 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.344545 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.344552 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.344564 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.344571 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.344578 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:53:06 2025-11-25 08:56:04.344586 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 08:56:04.344593 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 08:56:04.344600 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 08:56:04.344608 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.344615 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 08:56:04.344622 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 08:56:04.344630 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 08:56:04.344637 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 08:56:04.344649 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 08:56:04.344657 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 08:56:04.344664 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 08:56:04.344671 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 08:56:04.344679 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 08:56:04.344686 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 08:56:04.344693 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 08:56:04.344721 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 08:56:04.344728 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 08:56:04.344735 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 08:56:04.344746 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 08:56:04.344754 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 08:56:04.344761 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 08:56:04.344769 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 08:56:04.344776 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 08:53:06 2025-11-25 08:56:04.344784 | controller | | fernet_rotation/0-deploy_keystone | test step completed 0-deploy_keystone\n logger.go:42: 2025-11-25 08:56:04.344791 | controller | 08:53:06 | fernet_rotation/1-deploy_openstackclient | starting test step 1-deploy_openstackclient\n 2025-11-25 08:56:04.344799 | controller | \ logger.go:42: 08:53:06 | fernet_rotation/1-deploy_openstackclient | Pod:keystone-kuttl-tests/openstackclient 2025-11-25 08:56:04.344806 | controller | created\n logger.go:42: 08:53:06 | fernet_rotation/1-deploy_openstackclient | 2025-11-25 08:56:04.344813 | controller | running command: [sh -c ../../common/scripts/create_test_token.sh]\n logger.go:42: 2025-11-25 08:56:04.344821 | controller | 08:53:06 | fernet_rotation/1-deploy_openstackclient | + oc wait --for=condition=ready 2025-11-25 08:56:04.344832 | controller | pod openstackclient --timeout=30s -n keystone-kuttl-tests\n logger.go:42: 08:53:15 2025-11-25 08:56:04.344839 | controller | | fernet_rotation/1-deploy_openstackclient | pod/openstackclient condition met\n 2025-11-25 08:56:04.344846 | controller | \ logger.go:42: 08:53:15 | fernet_rotation/1-deploy_openstackclient | + alias 2025-11-25 08:56:04.344854 | controller | 'openstack=oc exec -tn keystone-kuttl-tests openstackclient -- openstack'\n logger.go:42: 2025-11-25 08:56:04.344861 | controller | 08:53:15 | fernet_rotation/1-deploy_openstackclient | ++ oc exec -tn keystone-kuttl-tests 2025-11-25 08:56:04.344868 | controller | openstackclient -- openstack token issue -f value -c id\n logger.go:42: 08:53:20 2025-11-25 08:56:04.344876 | controller | | fernet_rotation/1-deploy_openstackclient | + export OS_TOKEN=gAAAAABpJW5_hTETfXM49aDQcUL5mOp6MPPVOxw4qJ9hF88KNrFonunIaZbvVEzrur8VnQXYK1tl60jot34Si4-JRO4SRKVl8kFf1-wAyunXTMw0gT8dus8gtWX1cF-q2_LQpWfgdeycR0mDAQfS40HpYk6TiyTbOrY25hrPqkCCeuPgbLKW3MA\n 2025-11-25 08:56:04.344884 | controller | \ logger.go:42: 08:53:20 | fernet_rotation/1-deploy_openstackclient | + OS_TOKEN=gAAAAABpJW5_hTETfXM49aDQcUL5mOp6MPPVOxw4qJ9hF88KNrFonunIaZbvVEzrur8VnQXYK1tl60jot34Si4-JRO4SRKVl8kFf1-wAyunXTMw0gT8dus8gtWX1cF-q2_LQpWfgdeycR0mDAQfS40HpYk6TiyTbOrY25hrPqkCCeuPgbLKW3MA\n 2025-11-25 08:56:04.344892 | controller | \ logger.go:42: 08:53:20 | fernet_rotation/1-deploy_openstackclient | + echo gAAAAABpJW5_hTETfXM49aDQcUL5mOp6MPPVOxw4qJ9hF88KNrFonunIaZbvVEzrur8VnQXYK1tl60jot34Si4-JRO4SRKVl8kFf1-wAyunXTMw0gT8dus8gtWX1cF-q2_LQpWfgdeycR0mDAQfS40HpYk6TiyTbOrY25hrPqkCCeuPgbLKW3MA\n 2025-11-25 08:56:04.344900 | controller | \ logger.go:42: 08:53:20 | fernet_rotation/1-deploy_openstackclient | test step 2025-11-25 08:56:04.344907 | controller | completed 1-deploy_openstackclient\n logger.go:42: 08:53:20 | fernet_rotation/2-rotate_keys 2025-11-25 08:56:04.344914 | controller | | starting test step 2-rotate_keys\n logger.go:42: 08:53:20 | fernet_rotation/2-rotate_keys 2025-11-25 08:56:04.344922 | controller | | Secret:keystone-kuttl-tests/keystone updated\n logger.go:42: 08:53:20 | fernet_rotation/2-rotate_keys 2025-11-25 08:56:04.344929 | controller | | running command: [sh -c ../../common/scripts/validate_test_token.sh]\n logger.go:42: 2025-11-25 08:56:04.344937 | controller | 08:53:20 | fernet_rotation/2-rotate_keys | + seconds=1\n logger.go:42: 08:53:20 2025-11-25 08:56:04.344944 | controller | | fernet_rotation/2-rotate_keys | + '[' 1 -le 30 ']'\n logger.go:42: 08:53:20 2025-11-25 08:56:04.344951 | controller | | fernet_rotation/2-rotate_keys | ++ oc get secret keystone -n keystone-kuttl-tests 2025-11-25 08:56:04.344958 | controller | -o 'jsonpath={.metadata.annotations['\\''keystone\\.openstack\\.org/rotatedat'\\'']}'\n 2025-11-25 08:56:04.344965 | controller | \ logger.go:42: 08:53:20 | fernet_rotation/2-rotate_keys | + rotatedat=2025-11-25T08:53:20Z\n 2025-11-25 08:56:04.344972 | controller | \ logger.go:42: 08:53:20 | fernet_rotation/2-rotate_keys | + '[' 2025-11-25T08:53:20Z 2025-11-25 08:56:04.344979 | controller | '!=' 2009-11-10T23:00:00Z ']'\n logger.go:42: 08:53:20 | fernet_rotation/2-rotate_keys 2025-11-25 08:56:04.344987 | controller | | + break\n logger.go:42: 08:53:20 | fernet_rotation/2-rotate_keys | + sleep 2025-11-25 08:56:04.344994 | controller | 60\n logger.go:42: 08:54:20 | fernet_rotation/2-rotate_keys | ++ cat /tmp/temporary_test_token\n 2025-11-25 08:56:04.345014 | controller | \ logger.go:42: 08:54:20 | fernet_rotation/2-rotate_keys | + export OS_TOKEN=gAAAAABpJW5_hTETfXM49aDQcUL5mOp6MPPVOxw4qJ9hF88KNrFonunIaZbvVEzrur8VnQXYK1tl60jot34Si4-JRO4SRKVl8kFf1-wAyunXTMw0gT8dus8gtWX1cF-q2_LQpWfgdeycR0mDAQfS40HpYk6TiyTbOrY25hrPqkCCeuPgbLKW3MA\n 2025-11-25 08:56:04.345022 | controller | \ logger.go:42: 08:54:20 | fernet_rotation/2-rotate_keys | + OS_TOKEN=gAAAAABpJW5_hTETfXM49aDQcUL5mOp6MPPVOxw4qJ9hF88KNrFonunIaZbvVEzrur8VnQXYK1tl60jot34Si4-JRO4SRKVl8kFf1-wAyunXTMw0gT8dus8gtWX1cF-q2_LQpWfgdeycR0mDAQfS40HpYk6TiyTbOrY25hrPqkCCeuPgbLKW3MA\n 2025-11-25 08:56:04.345029 | controller | \ logger.go:42: 08:54:20 | fernet_rotation/2-rotate_keys | ++ oc exec -tn keystone-kuttl-tests 2025-11-25 08:56:04.345040 | controller | openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 08:56:04.345048 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJW5_hTETfXM49aDQcUL5mOp6MPPVOxw4qJ9hF88KNrFonunIaZbvVEzrur8VnQXYK1tl60jot34Si4-JRO4SRKVl8kFf1-wAyunXTMw0gT8dus8gtWX1cF-q2_LQpWfgdeycR0mDAQfS40HpYk6TiyTbOrY25hrPqkCCeuPgbLKW3MA 2025-11-25 08:56:04.345055 | controller | openstack endpoint list\n logger.go:42: 08:54:23 | fernet_rotation/2-rotate_keys 2025-11-25 08:56:04.345062 | controller | | ++ true\n logger.go:42: 08:54:23 | fernet_rotation/2-rotate_keys | + output='The 2025-11-25 08:56:04.345070 | controller | service catalog is empty.\n logger.go:42: 08:54:23 | fernet_rotation/2-rotate_keys 2025-11-25 08:56:04.345077 | controller | | command terminated with exit code 1'\n logger.go:42: 08:54:23 | fernet_rotation/2-rotate_keys 2025-11-25 08:56:04.345087 | controller | | + echo 'The service catalog is empty.\n logger.go:42: 08:54:23 | fernet_rotation/2-rotate_keys 2025-11-25 08:56:04.345095 | controller | | command terminated with exit code 1'\n logger.go:42: 08:54:23 | fernet_rotation/2-rotate_keys 2025-11-25 08:56:04.345127 | controller | | + grep -qi 'Could not recognize Fernet token'\n logger.go:42: 08:54:23 | fernet_rotation/2-rotate_keys 2025-11-25 08:56:04.345135 | controller | | + exit 0\n logger.go:42: 08:54:23 | fernet_rotation/2-rotate_keys | test step 2025-11-25 08:56:04.345142 | controller | completed 2-rotate_keys\n logger.go:42: 08:54:23 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 08:56:04.345149 | controller | | starting test step 3-rotate_keys_until_invalidate\n logger.go:42: 08:54:23 2025-11-25 08:56:04.345157 | controller | | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/rotate_token.sh]\n 2025-11-25 08:56:04.345164 | controller | \ logger.go:42: 08:54:23 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 08:56:04.345172 | controller | TMP_SECRET_FILE=/tmp/keystone-secret.yaml\n logger.go:42: 08:54:23 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 08:56:04.345179 | controller | | + for rotation in {1..5}\n logger.go:42: 08:54:23 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 08:56:04.345186 | controller | | + echo 'Starting rotation 1...'\n logger.go:42: 08:54:23 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 08:56:04.345194 | controller | | Starting rotation 1...\n logger.go:42: 08:54:23 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 08:56:04.345201 | controller | | + generate_secret_yaml\n logger.go:42: 08:54:23 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 08:56:04.345208 | controller | | + cat\n logger.go:42: 08:54:23 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 08:56:04.345215 | controller | | + oc apply -f /tmp/keystone-secret.yaml\n logger.go:42: 08:54:23 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 08:56:04.345222 | controller | | Warning: resource secrets/keystone is missing the kubectl.kubernetes.io/last-applied-configuration 2025-11-25 08:56:04.345230 | controller | annotation which is required by oc apply. oc apply should only be used on resources 2025-11-25 08:56:04.345237 | controller | created declaratively by either oc create --save-config or oc apply. The missing 2025-11-25 08:56:04.345244 | controller | annotation will be patched automatically.\n logger.go:42: 08:54:23 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 08:56:04.345252 | controller | | secret/keystone configured\n logger.go:42: 08:54:23 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 08:56:04.345259 | controller | | + sleep 100\n logger.go:42: 08:56:03 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 08:56:04.345266 | controller | | + echo 'Rotation 1 completed successfully.'\n logger.go:42: 08:56:03 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 08:56:04.345273 | controller | | Rotation 1 completed successfully.\n logger.go:42: 08:56:03 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 08:56:04.345284 | controller | | + for rotation in {1..5}\n logger.go:42: 08:56:03 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 08:56:04.345292 | controller | | + echo 'Starting rotation 2...'\n logger.go:42: 08:56:03 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 08:56:04.345309 | controller | | Starting rotation 2...\n logger.go:42: 08:56:03 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 08:56:04.345316 | controller | | + generate_secret_yaml\n logger.go:42: 08:56:03 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 08:56:04.345324 | controller | | + cat\n logger.go:42: 08:56:03 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 08:56:04.345332 | controller | | + oc apply -f /tmp/keystone-secret.yaml\n logger.go:42: 08:56:04 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 08:56:04.345339 | controller | | error: error when retrieving current configuration of:\n logger.go:42: 08:56:04 2025-11-25 08:56:04.345346 | controller | | fernet_rotation/3-rotate_keys_until_invalidate | Resource: \"/v1, Resource=secrets\", 2025-11-25 08:56:04.345354 | controller | GroupVersionKind: \"/v1, Kind=Secret\"\n logger.go:42: 08:56:04 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 08:56:04.345361 | controller | | Name: \"keystone\", Namespace: \"keystone-kuttl-tests\"\n logger.go:42: 08:56:04 2025-11-25 08:56:04.345368 | controller | | fernet_rotation/3-rotate_keys_until_invalidate | from server for: \"/tmp/keystone-secret.yaml\": 2025-11-25 08:56:04.345376 | controller | Get \"https://api.crc.testing:6443/api/v1/namespaces/keystone-kuttl-tests/secrets/keystone\": 2025-11-25 08:56:04.345387 | controller | dial tcp 38.102.83.222:6443: connect: connection refused\n logger.go:42: 08:56:04 2025-11-25 08:56:04.345394 | controller | | fernet_rotation/3-rotate_keys_until_invalidate | + echo 'Failed to apply the secret!'\n 2025-11-25 08:56:04.345401 | controller | \ logger.go:42: 08:56:04 | fernet_rotation/3-rotate_keys_until_invalidate | Failed 2025-11-25 08:56:04.345409 | controller | to apply the secret!\n logger.go:42: 08:56:04 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 08:56:04.345416 | controller | | + rm -f /tmp/keystone-secret.yaml\n logger.go:42: 08:56:04 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 08:56:04.345423 | controller | | + exit 1\n case.go:396: failed in step 3-rotate_keys_until_invalidate\n case.go:398: 2025-11-25 08:56:04.345430 | controller | command \"../../common/scripts/rotate_token.sh\" failed, exit status 1\n logger.go:42: 2025-11-25 08:56:04.345437 | controller | 08:56:04 | fernet_rotation | skipping kubernetes event logging\n step.go:213: 2025-11-25 08:56:04.345445 | controller | Delete \"https://api.crc.testing:6443/api/v1/namespaces/keystone-kuttl-tests/pods/openstackclient\": 2025-11-25 08:56:04.345452 | controller | dial tcp 38.102.83.222:6443: connect: connection refused\n step.go:213: Delete 2025-11-25 08:56:04.345459 | controller | \"https://api.crc.testing:6443/apis/keystone.openstack.org/v1beta1/namespaces/keystone-kuttl-tests/keystoneapis/keystone\": 2025-11-25 08:56:04.345467 | controller | dial tcp 38.102.83.222:6443: connect: connection refused\n=== NAME kuttl\n harness.go:406: 2025-11-25 08:56:04.345474 | controller | run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing 2025-11-25 08:56:04.345481 | controller | temp folder: \"\"\n--- FAIL: kuttl (523.62s)\n --- FAIL: kuttl/harness (0.00s)\n 2025-11-25 08:56:04.345488 | controller | \ --- PASS: kuttl/harness/change_keystone_config (77.48s)\n --- PASS: 2025-11-25 08:56:04.345496 | controller | kuttl/harness/keystone_scale (89.11s)\n --- PASS: kuttl/harness/keystone_tls 2025-11-25 08:56:04.345503 | controller | (58.27s)\n --- PASS: kuttl/harness/keystone_resources (70.58s)\n --- 2025-11-25 08:56:04.345510 | controller | FAIL: kuttl/harness/fernet_rotation (228.18s)\nFAIL\nmake[1]: *** [Makefile:1807: 2025-11-25 08:56:04.345517 | controller | keystone_kuttl_run] Error 1\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake: 2025-11-25 08:56:04.345699 | controller | *** [Makefile:1816: keystone_kuttl] Error 2\n" 2025-11-25 08:56:04.345710 | controller | stdout_lines: 2025-11-25 08:56:04.345717 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls ~/ci-framework-data/artifacts 2025-11-25 08:56:04.345725 | controller | - 'error: the server doesn''t have a resource type "openstackversion"' 2025-11-25 08:56:04.345733 | controller | - bash scripts/gen-namespace.sh 2025-11-25 08:56:04.345743 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' 2025-11-25 08:56:04.345750 | controller | - + '[' -z keystone-kuttl-tests ']' 2025-11-25 08:56:04.345758 | controller | - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests 2025-11-25 08:56:04.345765 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests 2025-11-25 08:56:04.345772 | controller | ']' 2025-11-25 08:56:04.345780 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests 2025-11-25 08:56:04.345787 | controller | - + cat 2025-11-25 08:56:04.345794 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml 2025-11-25 08:56:04.345801 | controller | - namespace/keystone-kuttl-tests created 2025-11-25 08:56:04.345809 | controller | - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io keystone-kuttl-tests); 2025-11-25 08:56:04.345816 | controller | do sleep 1; done" 2025-11-25 08:56:04.345824 | controller | - NAME DISPLAY NAME STATUS 2025-11-25 08:56:04.345831 | controller | - keystone-kuttl-tests Active 2025-11-25 08:56:04.345839 | controller | - oc project keystone-kuttl-tests 2025-11-25 08:56:04.345846 | controller | - Now using project "keystone-kuttl-tests" on server "https://api.crc.testing:6443". 2025-11-25 08:56:04.345853 | controller | - bash scripts/gen-input-kustomize.sh 2025-11-25 08:56:04.345869 | controller | - + OUT=/home/zuul/ci-framework-data/artifacts/manifests 2025-11-25 08:56:04.345877 | controller | - + '[' -z keystone-kuttl-tests ']' 2025-11-25 08:56:04.345885 | controller | - + '[' -z osp-secret ']' 2025-11-25 08:56:04.345892 | controller | - + '[' -z 12345678 ']' 2025-11-25 08:56:04.345900 | controller | - + '[' -z 1234567842 ']' 2025-11-25 08:56:04.345907 | controller | - + '[' -z 767c3ed056cbaa3b9dfedb8c6f825bf0 ']' 2025-11-25 08:56:04.345915 | controller | - + '[' -z sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= ']' 2025-11-25 08:56:04.345922 | controller | - + '[' -z COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f ']' 2025-11-25 08:56:04.345929 | controller | - + '[' -z openstack ']' 2025-11-25 08:56:04.345937 | controller | - + '[' -z libvirt-secret ']' 2025-11-25 08:56:04.345944 | controller | - + DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input 2025-11-25 08:56:04.345951 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input 2025-11-25 08:56:04.345958 | controller | ']' 2025-11-25 08:56:04.345965 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input 2025-11-25 08:56:04.345972 | controller | - + pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input 2025-11-25 08:56:04.345980 | controller | - ~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 08:56:04.345987 | controller | - + cat 2025-11-25 08:56:04.345994 | controller | - oc get secret/osp-secret || oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input 2025-11-25 08:56:04.346002 | controller | | oc apply -f - 2025-11-25 08:56:04.346013 | controller | - 'Error from server (NotFound): secrets "osp-secret" not found' 2025-11-25 08:56:04.346021 | controller | - secret/libvirt-secret created 2025-11-25 08:56:04.346028 | controller | - secret/octavia-ca-passphrase created 2025-11-25 08:56:04.346035 | controller | - secret/osp-secret created 2025-11-25 08:56:04.346043 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr 2025-11-25 08:56:04.346050 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 08:56:04.346057 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr'' 2025-11-25 08:56:04.346069 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila: 2025-11-25 08:56:04.346077 | controller | no such file or directory' 2025-11-25 08:56:04.346085 | controller | - No resources found 2025-11-25 08:56:04.346092 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator 2025-11-25 08:56:04.346116 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr 2025-11-25 08:56:04.346127 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-11-25 08:56:04.346134 | controller | drop database if exists manila;" || true 2025-11-25 08:56:04.346140 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 08:56:04.346146 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr 2025-11-25 08:56:04.346152 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 08:56:04.346158 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr'' 2025-11-25 08:56:04.346164 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat: 2025-11-25 08:56:04.346170 | controller | no such file or directory' 2025-11-25 08:56:04.346176 | controller | - No resources found 2025-11-25 08:56:04.346182 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr 2025-11-25 08:56:04.346188 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr 2025-11-25 08:56:04.346194 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 08:56:04.346200 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr'' 2025-11-25 08:56:04.346205 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon: 2025-11-25 08:56:04.346212 | controller | no such file or directory' 2025-11-25 08:56:04.346219 | controller | - No resources found 2025-11-25 08:56:04.346227 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator 2025-11-25 08:56:04.346234 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr 2025-11-25 08:56:04.346242 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr 2025-11-25 08:56:04.346249 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 08:56:04.346257 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr'' 2025-11-25 08:56:04.346264 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova: 2025-11-25 08:56:04.346272 | controller | no such file or directory' 2025-11-25 08:56:04.346279 | controller | - No resources found 2025-11-25 08:56:04.346287 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr 2025-11-25 08:56:04.346294 | controller | - oc rsh openstack-galera-0 mysql -u root --password=12345678 -ss -e "show databases 2025-11-25 08:56:04.346312 | controller | like 'nova_%';" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12345678 2025-11-25 08:56:04.346319 | controller | -ss -e "flush tables; drop database if exists {};" 2025-11-25 08:56:04.346327 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 08:56:04.346333 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr 2025-11-25 08:56:04.346340 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 08:56:04.346347 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr'' 2025-11-25 08:56:04.346361 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis: 2025-11-25 08:56:04.346367 | controller | no such file or directory' 2025-11-25 08:56:04.346372 | controller | - No resources found 2025-11-25 08:56:04.346378 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis 2025-11-25 08:56:04.346384 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr 2025-11-25 08:56:04.346394 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr 2025-11-25 08:56:04.346400 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 08:56:04.346405 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr'' 2025-11-25 08:56:04.346414 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia: 2025-11-25 08:56:04.346422 | controller | no such file or directory' 2025-11-25 08:56:04.346430 | controller | - No resources found 2025-11-25 08:56:04.346438 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator 2025-11-25 08:56:04.346445 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr 2025-11-25 08:56:04.346453 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-11-25 08:56:04.346461 | controller | drop database if exists octavia;" || true 2025-11-25 08:56:04.346468 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 08:56:04.346475 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr 2025-11-25 08:56:04.346483 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 08:56:04.346490 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr'' 2025-11-25 08:56:04.346498 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate: 2025-11-25 08:56:04.346505 | controller | no such file or directory' 2025-11-25 08:56:04.346510 | controller | - No resources found 2025-11-25 08:56:04.346516 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator 2025-11-25 08:56:04.346522 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr 2025-11-25 08:56:04.346528 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-11-25 08:56:04.346534 | controller | drop database if exists designate;" || true 2025-11-25 08:56:04.346540 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 08:56:04.346545 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr 2025-11-25 08:56:04.346551 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 08:56:04.346557 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr'' 2025-11-25 08:56:04.346563 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron: 2025-11-25 08:56:04.346569 | controller | no such file or directory' 2025-11-25 08:56:04.346575 | controller | - No resources found 2025-11-25 08:56:04.346580 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator 2025-11-25 08:56:04.346586 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr 2025-11-25 08:56:04.346592 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-11-25 08:56:04.346600 | controller | drop database if exists neutron;" || true 2025-11-25 08:56:04.346608 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 08:56:04.346615 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr 2025-11-25 08:56:04.346627 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 08:56:04.346638 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr'' 2025-11-25 08:56:04.346646 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn: 2025-11-25 08:56:04.346654 | controller | no such file or directory' 2025-11-25 08:56:04.346661 | controller | - No resources found 2025-11-25 08:56:04.346669 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr 2025-11-25 08:56:04.346686 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr 2025-11-25 08:56:04.346694 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 08:56:04.346702 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr'' 2025-11-25 08:56:04.346709 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic: 2025-11-25 08:56:04.346717 | controller | no such file or directory' 2025-11-25 08:56:04.346724 | controller | - No resources found 2025-11-25 08:56:04.346732 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator 2025-11-25 08:56:04.346739 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr 2025-11-25 08:56:04.346747 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-11-25 08:56:04.346754 | controller | drop database if exists ironic;" || true 2025-11-25 08:56:04.346761 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 08:56:04.346769 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-11-25 08:56:04.346776 | controller | drop database if exists ironic_inspector;" || true 2025-11-25 08:56:04.346783 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 08:56:04.346791 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr 2025-11-25 08:56:04.346798 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 08:56:04.346805 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr'' 2025-11-25 08:56:04.346813 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder: 2025-11-25 08:56:04.346820 | controller | no such file or directory' 2025-11-25 08:56:04.346827 | controller | - No resources found 2025-11-25 08:56:04.346835 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator 2025-11-25 08:56:04.346842 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr 2025-11-25 08:56:04.346849 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-11-25 08:56:04.346856 | controller | drop database if exists cinder;" || true 2025-11-25 08:56:04.346864 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 08:56:04.346871 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr 2025-11-25 08:56:04.346878 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 08:56:04.346885 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr'' 2025-11-25 08:56:04.346893 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance: 2025-11-25 08:56:04.346900 | controller | no such file or directory' 2025-11-25 08:56:04.346907 | controller | - No resources found 2025-11-25 08:56:04.346914 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator 2025-11-25 08:56:04.346926 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr 2025-11-25 08:56:04.346934 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-11-25 08:56:04.346941 | controller | drop database if exists glance;" || true 2025-11-25 08:56:04.346949 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 08:56:04.346956 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr 2025-11-25 08:56:04.346963 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 08:56:04.346971 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr'' 2025-11-25 08:56:04.346978 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement: 2025-11-25 08:56:04.346985 | controller | no such file or directory' 2025-11-25 08:56:04.346992 | controller | - No resources found 2025-11-25 08:56:04.346999 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator 2025-11-25 08:56:04.347007 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr 2025-11-25 08:56:04.347014 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-11-25 08:56:04.347021 | controller | drop database if exists placement;" || true 2025-11-25 08:56:04.347028 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 08:56:04.347035 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr 2025-11-25 08:56:04.347042 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 08:56:04.347050 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr'' 2025-11-25 08:56:04.347057 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift: 2025-11-25 08:56:04.347064 | controller | no such file or directory' 2025-11-25 08:56:04.347071 | controller | - No resources found 2025-11-25 08:56:04.347083 | controller | - rm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator 2025-11-25 08:56:04.347116 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr 2025-11-25 08:56:04.347129 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr 2025-11-25 08:56:04.347137 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 08:56:04.347214 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr'' 2025-11-25 08:56:04.347221 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican: 2025-11-25 08:56:04.347227 | controller | no such file or directory' 2025-11-25 08:56:04.347234 | controller | - No resources found 2025-11-25 08:56:04.347244 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator 2025-11-25 08:56:04.347252 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr 2025-11-25 08:56:04.347259 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-11-25 08:56:04.347267 | controller | drop database if exists barbican;" || true 2025-11-25 08:56:04.347274 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 08:56:04.347282 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-11-25 08:56:04.347290 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 08:56:04.347297 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr'' 2025-11-25 08:56:04.347309 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone: 2025-11-25 08:56:04.347317 | controller | no such file or directory' 2025-11-25 08:56:04.347324 | controller | - No resources found 2025-11-25 08:56:04.347332 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator 2025-11-25 08:56:04.347339 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-11-25 08:56:04.347347 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-11-25 08:56:04.347354 | controller | drop database if exists keystone;" || true 2025-11-25 08:56:04.347362 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 08:56:04.347369 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 08:56:04.347377 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 08:56:04.347384 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr'' 2025-11-25 08:56:04.347391 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb: 2025-11-25 08:56:04.347399 | controller | no such file or directory' 2025-11-25 08:56:04.347406 | controller | - No resources found 2025-11-25 08:56:04.347414 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator 2025-11-25 08:56:04.347421 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 08:56:04.347428 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr 2025-11-25 08:56:04.347435 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 08:56:04.347442 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr'' 2025-11-25 08:56:04.347450 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry: 2025-11-25 08:56:04.347457 | controller | no such file or directory' 2025-11-25 08:56:04.347464 | controller | - No resources found 2025-11-25 08:56:04.347471 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator 2025-11-25 08:56:04.347478 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr 2025-11-25 08:56:04.347486 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator 2025-11-25 08:56:04.347493 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr 2025-11-25 08:56:04.347500 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-11-25 08:56:04.347507 | controller | drop database if exists aodh;" || true 2025-11-25 08:56:04.347514 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 08:56:04.347521 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 08:56:04.347528 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 08:56:04.347535 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr'' 2025-11-25 08:56:04.347542 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra: 2025-11-25 08:56:04.347549 | controller | no such file or directory' 2025-11-25 08:56:04.347557 | controller | - No resources found 2025-11-25 08:56:04.347564 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator 2025-11-25 08:56:04.347583 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 08:56:04.347591 | controller | - if oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster 2025-11-25 08:56:04.347598 | controller | --all; fi 2025-11-25 08:56:04.347609 | controller | - 'error: the server doesn''t have a resource type "RabbitmqCluster"' 2025-11-25 08:56:04.347617 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator 2025-11-25 08:56:04.347624 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-11-25 08:56:04.347631 | controller | - bash scripts/gen-namespace.sh 2025-11-25 08:56:04.347639 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' 2025-11-25 08:56:04.347646 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.347653 | controller | - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators 2025-11-25 08:56:04.347660 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators 2025-11-25 08:56:04.347667 | controller | ']' 2025-11-25 08:56:04.347674 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators 2025-11-25 08:56:04.347681 | controller | - + cat 2025-11-25 08:56:04.347689 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml 2025-11-25 08:56:04.347696 | controller | - 'Warning: resource namespaces/openstack-operators is missing the kubectl.kubernetes.io/last-applied-configuration 2025-11-25 08:56:04.347703 | controller | annotation which is required by oc apply. oc apply should only be used on resources 2025-11-25 08:56:04.347710 | controller | created declaratively by either oc create --save-config or oc apply. The missing 2025-11-25 08:56:04.347718 | controller | annotation will be patched automatically.' 2025-11-25 08:56:04.347725 | controller | - namespace/openstack-operators configured 2025-11-25 08:56:04.347733 | controller | - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io openstack-operators); 2025-11-25 08:56:04.347740 | controller | do sleep 1; done" 2025-11-25 08:56:04.347748 | controller | - NAME DISPLAY NAME STATUS 2025-11-25 08:56:04.347755 | controller | - openstack-operators Active 2025-11-25 08:56:04.347763 | controller | - oc project openstack-operators 2025-11-25 08:56:04.347770 | controller | - Now using project "openstack-operators" on server "https://api.crc.testing:6443". 2025-11-25 08:56:04.347778 | controller | - bash scripts/gen-olm.sh 2025-11-25 08:56:04.347785 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.347793 | controller | - + '[' -z mariadb ']' 2025-11-25 08:56:04.347804 | controller | - + '[' -z quay.io/openstack-k8s-operators/mariadb-operator-index:latest ']' 2025-11-25 08:56:04.347811 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-11-25 08:56:04.347819 | controller | ']' 2025-11-25 08:56:04.347826 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-11-25 08:56:04.347834 | controller | ']' 2025-11-25 08:56:04.347841 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-11-25 08:56:04.347849 | controller | - + OPERATOR_CHANNEL=alpha 2025-11-25 08:56:04.347856 | controller | - + OPERATOR_SOURCE=mariadb-operator-index 2025-11-25 08:56:04.347863 | controller | - + OPERATOR_SOURCE_NAMESPACE=openstack-operators 2025-11-25 08:56:04.347871 | controller | - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-11-25 08:56:04.347878 | controller | - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-11-25 08:56:04.347885 | controller | - + echo OPERATOR_CHANNEL alpha 2025-11-25 08:56:04.347893 | controller | - OPERATOR_CHANNEL alpha 2025-11-25 08:56:04.347901 | controller | - + echo OPERATOR_SOURCE mariadb-operator-index 2025-11-25 08:56:04.347908 | controller | - OPERATOR_SOURCE mariadb-operator-index 2025-11-25 08:56:04.347916 | controller | - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators 2025-11-25 08:56:04.347923 | controller | - OPERATOR_SOURCE_NAMESPACE openstack-operators 2025-11-25 08:56:04.347931 | controller | - + cat 2025-11-25 08:56:04.347938 | controller | - + cat 2025-11-25 08:56:04.347945 | controller | - + cat 2025-11-25 08:56:04.347953 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-11-25 08:56:04.347964 | controller | - catalogsource.operators.coreos.com/mariadb-operator-index created 2025-11-25 08:56:04.347971 | controller | - operatorgroup.operators.coreos.com/openstack created 2025-11-25 08:56:04.347979 | controller | - subscription.operators.coreos.com/mariadb-operator created 2025-11-25 08:56:04.347987 | controller | - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-11-25 08:56:04.347994 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 08:56:04.348001 | controller | - bash scripts/clone-operator-repo.sh 2025-11-25 08:56:04.348009 | controller | - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/openstack-operator.git 2025-11-25 08:56:04.348016 | controller | openstack-operator' 2025-11-25 08:56:04.348024 | controller | - Cloning into 'openstack-operator'... 2025-11-25 08:56:04.348031 | controller | - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/mariadb-operator.git 2025-11-25 08:56:04.348039 | controller | mariadb-operator' 2025-11-25 08:56:04.348046 | controller | - Cloning into 'mariadb-operator'... 2025-11-25 08:56:04.348054 | controller | - 'Running checkout: git checkout 231c653930d1' 2025-11-25 08:56:04.348061 | controller | - 'Note: switching to ''231c653930d1''.' 2025-11-25 08:56:04.348067 | controller | - '' 2025-11-25 08:56:04.348073 | controller | - You are in 'detached HEAD' state. You can look around, make experimental 2025-11-25 08:56:04.348079 | controller | - changes and commit them, and you can discard any commits you make in this 2025-11-25 08:56:04.348085 | controller | - state without impacting any branches by switching back to a branch. 2025-11-25 08:56:04.348090 | controller | - '' 2025-11-25 08:56:04.348131 | controller | - If you want to create a new branch to retain commits you create, you may 2025-11-25 08:56:04.348142 | controller | - 'do so (now or later) by using -c with the switch command. Example:' 2025-11-25 08:56:04.348149 | controller | - '' 2025-11-25 08:56:04.348154 | controller | - ' git switch -c ' 2025-11-25 08:56:04.348160 | controller | - '' 2025-11-25 08:56:04.348166 | controller | - 'Or undo this operation with:' 2025-11-25 08:56:04.348172 | controller | - '' 2025-11-25 08:56:04.348178 | controller | - ' git switch -' 2025-11-25 08:56:04.348184 | controller | - '' 2025-11-25 08:56:04.348190 | controller | - Turn off this advice by setting config variable advice.detachedHead to false 2025-11-25 08:56:04.348195 | controller | - '' 2025-11-25 08:56:04.348201 | controller | - 'HEAD is now at 231c653 Merge pull request #379 from dciabrin/pwd-wsrep-notify' 2025-11-25 08:56:04.348207 | controller | - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml 2025-11-25 08:56:04.348213 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 08:56:04.348219 | controller | - bash scripts/gen-service-kustomize.sh 2025-11-25 08:56:04.348225 | controller | - +++ dirname scripts/gen-service-kustomize.sh 2025-11-25 08:56:04.348231 | controller | - ++ cd scripts 2025-11-25 08:56:04.348237 | controller | - ++ pwd -P 2025-11-25 08:56:04.348243 | controller | - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 08:56:04.348249 | controller | - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh 2025-11-25 08:56:04.348255 | controller | --source-only 2025-11-25 08:56:04.348260 | controller | - ++ set -e 2025-11-25 08:56:04.348266 | controller | - + '[' -z keystone-kuttl-tests ']' 2025-11-25 08:56:04.348272 | controller | - + '[' -z Galera ']' 2025-11-25 08:56:04.348278 | controller | - + '[' -z osp-secret ']' 2025-11-25 08:56:04.348284 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 08:56:04.348290 | controller | ']' 2025-11-25 08:56:04.348296 | controller | - + '[' -n '' ']' 2025-11-25 08:56:04.348302 | controller | - + REPLACEMENTS= 2025-11-25 08:56:04.348308 | controller | - + IMAGE=unused 2025-11-25 08:56:04.348314 | controller | - + IMAGE_PATH=containerImage 2025-11-25 08:56:04.348320 | controller | - + STORAGE_REQUEST=10G 2025-11-25 08:56:04.348326 | controller | - + INTERFACE_MTU=1500 2025-11-25 08:56:04.348335 | controller | - + VLAN_START=20 2025-11-25 08:56:04.348341 | controller | - + VLAN_STEP=1 2025-11-25 08:56:04.348347 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 08:56:04.348353 | controller | ']' 2025-11-25 08:56:04.348359 | controller | - + pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 08:56:04.348365 | controller | - ~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 08:56:04.348371 | controller | - + cat 2025-11-25 08:56:04.348377 | controller | - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-11-25 08:56:04.348383 | controller | - + IFS=, 2025-11-25 08:56:04.348389 | controller | - + read -ra IMAGES 2025-11-25 08:56:04.348394 | controller | - + IFS=, 2025-11-25 08:56:04.348400 | controller | - + read -ra IMAGE_PATHS 2025-11-25 08:56:04.348406 | controller | - + '[' 1 '!=' 1 ']' 2025-11-25 08:56:04.348412 | controller | - + (( i=0 )) 2025-11-25 08:56:04.348418 | controller | - + (( i < 1 )) 2025-11-25 08:56:04.348424 | controller | - + SPEC_PATH=containerImage 2025-11-25 08:56:04.348429 | controller | - + SPEC_VALUE=unused 2025-11-25 08:56:04.348435 | controller | - + '[' unused '!=' unused ']' 2025-11-25 08:56:04.348441 | controller | - + (( i++ )) 2025-11-25 08:56:04.348447 | controller | - + (( i < 1 )) 2025-11-25 08:56:04.348453 | controller | - + '[' -n '' ']' 2025-11-25 08:56:04.348459 | controller | - + '[' Galera == OpenStackControlPlane ']' 2025-11-25 08:56:04.348465 | controller | - + '[' Galera == Galera ']' 2025-11-25 08:56:04.348470 | controller | - + cat 2025-11-25 08:56:04.348476 | controller | - + '[' Galera == NetConfig ']' 2025-11-25 08:56:04.348482 | controller | - + '[' -n '' ']' 2025-11-25 08:56:04.348488 | controller | - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-11-25 08:56:04.348494 | controller | - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-11-25 08:56:04.348500 | controller | - + '[' -n '' ']' 2025-11-25 08:56:04.348505 | controller | - + kustomization_add_resources 2025-11-25 08:56:04.348511 | controller | - + echo merge config dir 2025-11-25 08:56:04.348517 | controller | - merge config dir 2025-11-25 08:56:04.348523 | controller | - ++ find . -type f -name '*.yaml' 2025-11-25 08:56:04.348529 | controller | - ++ grep -v kustomization 2025-11-25 08:56:04.348534 | controller | - + yamls=./mariadb_v1beta1_galera.yaml 2025-11-25 08:56:04.348540 | controller | - + for y in ${yamls[@]} 2025-11-25 08:56:04.348546 | controller | - + kustomize edit add resource ./mariadb_v1beta1_galera.yaml 2025-11-25 08:56:04.348552 | controller | - + popd 2025-11-25 08:56:04.348558 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 08:56:04.348563 | controller | - make wait 2025-11-25 08:56:04.348569 | controller | - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-11-25 08:56:04.348575 | controller | - 'error: the server doesn''t have a resource type "openstackversion"' 2025-11-25 08:56:04.348581 | controller | - bash scripts/operator-wait.sh 2025-11-25 08:56:04.348587 | controller | - + TIMEOUT=500s 2025-11-25 08:56:04.348593 | controller | - +++ dirname scripts/operator-wait.sh 2025-11-25 08:56:04.348599 | controller | - ++ cd scripts 2025-11-25 08:56:04.348604 | controller | - ++ pwd -P 2025-11-25 08:56:04.348610 | controller | - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 08:56:04.348616 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.348622 | controller | - + '[' -z mariadb ']' 2025-11-25 08:56:04.348628 | controller | - + '[' mariadb = rabbitmq ']' 2025-11-25 08:56:04.348634 | controller | - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 08:56:04.348639 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 08:56:04.348645 | controller | - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" 2025-11-25 08:56:04.348655 | controller | ]; do sleep 5; done' 2025-11-25 08:56:04.348661 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.348666 | controller | - + '[' -z mariadb ']' 2025-11-25 08:56:04.348672 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-11-25 08:56:04.348678 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-11-25 08:56:04.348689 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-11-25 08:56:04.348695 | controller | -o json 2025-11-25 08:56:04.348701 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.348707 | controller | - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" 2025-11-25 08:56:04.348713 | controller | not found' 2025-11-25 08:56:04.348719 | controller | - + REPLICAS= 2025-11-25 08:56:04.348725 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.348730 | controller | - + exit 1 2025-11-25 08:56:04.348748 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.348754 | controller | - + '[' -z mariadb ']' 2025-11-25 08:56:04.348760 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-11-25 08:56:04.348766 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-11-25 08:56:04.348772 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-11-25 08:56:04.348777 | controller | -o json 2025-11-25 08:56:04.348783 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.348789 | controller | - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" 2025-11-25 08:56:04.348795 | controller | not found' 2025-11-25 08:56:04.348801 | controller | - + REPLICAS= 2025-11-25 08:56:04.348807 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.348813 | controller | - + exit 1 2025-11-25 08:56:04.348819 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.348824 | controller | - + '[' -z mariadb ']' 2025-11-25 08:56:04.348830 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-11-25 08:56:04.348836 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-11-25 08:56:04.348842 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-11-25 08:56:04.348848 | controller | -o json 2025-11-25 08:56:04.348854 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.348860 | controller | - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" 2025-11-25 08:56:04.348865 | controller | not found' 2025-11-25 08:56:04.348871 | controller | - + REPLICAS= 2025-11-25 08:56:04.348877 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.348883 | controller | - + exit 1 2025-11-25 08:56:04.348889 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.348895 | controller | - + '[' -z mariadb ']' 2025-11-25 08:56:04.348900 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-11-25 08:56:04.348906 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-11-25 08:56:04.348912 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-11-25 08:56:04.348918 | controller | -o json 2025-11-25 08:56:04.348924 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.348930 | controller | - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" 2025-11-25 08:56:04.348936 | controller | not found' 2025-11-25 08:56:04.348942 | controller | - + REPLICAS= 2025-11-25 08:56:04.348948 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.348957 | controller | - + exit 1 2025-11-25 08:56:04.348963 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.348969 | controller | - + '[' -z mariadb ']' 2025-11-25 08:56:04.348975 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-11-25 08:56:04.348981 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-11-25 08:56:04.348987 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.348992 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-11-25 08:56:04.349001 | controller | -o json 2025-11-25 08:56:04.349007 | controller | - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" 2025-11-25 08:56:04.349012 | controller | not found' 2025-11-25 08:56:04.349018 | controller | - + REPLICAS= 2025-11-25 08:56:04.349024 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.349030 | controller | - + exit 1 2025-11-25 08:56:04.349036 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.349042 | controller | - + '[' -z mariadb ']' 2025-11-25 08:56:04.349048 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-11-25 08:56:04.349053 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-11-25 08:56:04.349062 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-11-25 08:56:04.349068 | controller | -o json 2025-11-25 08:56:04.349074 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.349080 | controller | - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" 2025-11-25 08:56:04.349086 | controller | not found' 2025-11-25 08:56:04.349093 | controller | - + REPLICAS= 2025-11-25 08:56:04.349121 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.349129 | controller | - + exit 1 2025-11-25 08:56:04.349136 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.349143 | controller | - + '[' -z mariadb ']' 2025-11-25 08:56:04.349150 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-11-25 08:56:04.349157 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-11-25 08:56:04.349164 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-11-25 08:56:04.349171 | controller | -o json 2025-11-25 08:56:04.349179 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.349186 | controller | - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" 2025-11-25 08:56:04.349193 | controller | not found' 2025-11-25 08:56:04.349200 | controller | - + REPLICAS= 2025-11-25 08:56:04.349207 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.349214 | controller | - + exit 1 2025-11-25 08:56:04.349221 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.349228 | controller | - + '[' -z mariadb ']' 2025-11-25 08:56:04.349236 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-11-25 08:56:04.349243 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-11-25 08:56:04.349250 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-11-25 08:56:04.349257 | controller | -o json 2025-11-25 08:56:04.349264 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.349271 | controller | - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" 2025-11-25 08:56:04.349278 | controller | not found' 2025-11-25 08:56:04.349285 | controller | - + REPLICAS= 2025-11-25 08:56:04.349292 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.349300 | controller | - + exit 1 2025-11-25 08:56:04.349308 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.349315 | controller | - + '[' -z mariadb ']' 2025-11-25 08:56:04.349322 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-11-25 08:56:04.349329 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-11-25 08:56:04.349337 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-11-25 08:56:04.349349 | controller | -o json 2025-11-25 08:56:04.349356 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.349364 | controller | - + REPLICAS=null 2025-11-25 08:56:04.349371 | controller | - + '[' null '!=' 1 ']' 2025-11-25 08:56:04.349379 | controller | - + exit 1 2025-11-25 08:56:04.349386 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.349393 | controller | - + '[' -z mariadb ']' 2025-11-25 08:56:04.349401 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-11-25 08:56:04.349408 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-11-25 08:56:04.349415 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-11-25 08:56:04.349423 | controller | -o json 2025-11-25 08:56:04.349431 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.349439 | controller | - + REPLICAS=null 2025-11-25 08:56:04.349446 | controller | - + '[' null '!=' 1 ']' 2025-11-25 08:56:04.349454 | controller | - + exit 1 2025-11-25 08:56:04.349461 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.349481 | controller | - + '[' -z mariadb ']' 2025-11-25 08:56:04.349490 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-11-25 08:56:04.349498 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-11-25 08:56:04.349505 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-11-25 08:56:04.349517 | controller | -o json 2025-11-25 08:56:04.349525 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.349533 | controller | - + REPLICAS=1 2025-11-25 08:56:04.349544 | controller | - + '[' 1 '!=' 1 ']' 2025-11-25 08:56:04.349556 | controller | - + echo Succeeded 2025-11-25 08:56:04.349563 | controller | - + exit 0 2025-11-25 08:56:04.349570 | controller | - + rc=0 2025-11-25 08:56:04.349577 | controller | - + popd 2025-11-25 08:56:04.349584 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 08:56:04.349592 | controller | - + exit 0 2025-11-25 08:56:04.349600 | controller | - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-11-25 08:56:04.349608 | controller | - bash scripts/operator-deploy-resources.sh 2025-11-25 08:56:04.349616 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 08:56:04.349624 | controller | ']' 2025-11-25 08:56:04.349631 | controller | - + NEXT_WAIT_TIME=0 2025-11-25 08:56:04.349638 | controller | - + '[' 0 -eq 15 ']' 2025-11-25 08:56:04.349646 | controller | - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 08:56:04.349653 | controller | - + oc apply -f - 2025-11-25 08:56:04.349661 | controller | - galera.mariadb.openstack.org/openstack created 2025-11-25 08:56:04.349668 | controller | - + '[' 0 -lt 15 ']' 2025-11-25 08:56:04.349676 | controller | - bash scripts/gen-namespace.sh 2025-11-25 08:56:04.349684 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' 2025-11-25 08:56:04.349691 | controller | - + '[' -z metallb-system ']' 2025-11-25 08:56:04.349699 | controller | - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/metallb-system 2025-11-25 08:56:04.349706 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system ']' 2025-11-25 08:56:04.349717 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system 2025-11-25 08:56:04.349725 | controller | - + cat 2025-11-25 08:56:04.349732 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml 2025-11-25 08:56:04.349740 | controller | - namespace/metallb-system created 2025-11-25 08:56:04.349747 | controller | - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io metallb-system); 2025-11-25 08:56:04.349755 | controller | do sleep 1; done" 2025-11-25 08:56:04.349762 | controller | - NAME DISPLAY NAME STATUS 2025-11-25 08:56:04.349770 | controller | - metallb-system Active 2025-11-25 08:56:04.349777 | controller | - bash scripts/gen-olm-metallb.sh 2025-11-25 08:56:04.349785 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op 2025-11-25 08:56:04.349792 | controller | ']' 2025-11-25 08:56:04.349800 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op 2025-11-25 08:56:04.349808 | controller | ']' 2025-11-25 08:56:04.349815 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op 2025-11-25 08:56:04.349822 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr 2025-11-25 08:56:04.349830 | controller | ']' 2025-11-25 08:56:04.349838 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr 2025-11-25 08:56:04.349845 | controller | ']' 2025-11-25 08:56:04.349852 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr 2025-11-25 08:56:04.349860 | controller | - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op 2025-11-25 08:56:04.349867 | controller | - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op 2025-11-25 08:56:04.349875 | controller | - + echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr 2025-11-25 08:56:04.349882 | controller | - DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr 2025-11-25 08:56:04.349890 | controller | - + echo INTERFACE 2025-11-25 08:56:04.349897 | controller | - INTERFACE 2025-11-25 08:56:04.349905 | controller | - + cat 2025-11-25 08:56:04.349913 | controller | - + cat 2025-11-25 08:56:04.349921 | controller | - + cat 2025-11-25 08:56:04.349928 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op 2025-11-25 08:56:04.349940 | controller | - operatorgroup.operators.coreos.com/metallb-operator created 2025-11-25 08:56:04.349948 | controller | - subscription.operators.coreos.com/metallb-operator-sub created 2025-11-25 08:56:04.349955 | controller | - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l control-plane=controller-manager 2025-11-25 08:56:04.349963 | controller | -n metallb-system| grep metallb-operator-controller); do sleep 10; done" 2025-11-25 08:56:04.349971 | controller | - No resources found in metallb-system namespace. 2025-11-25 08:56:04.349978 | controller | - No resources found in metallb-system namespace. 2025-11-25 08:56:04.349985 | controller | - metallb-operator-controller-manager-699596c7b8-klfq4 0/1 ContainerCreating 0 1s 2025-11-25 08:56:04.349992 | controller | - oc wait pod -n metallb-system --for condition=Ready -l control-plane=controller-manager 2025-11-25 08:56:04.349999 | controller | --timeout=500s 2025-11-25 08:56:04.350006 | controller | - pod/metallb-operator-controller-manager-699596c7b8-klfq4 condition met 2025-11-25 08:56:04.350013 | controller | - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=webhook-server 2025-11-25 08:56:04.350021 | controller | -n metallb-system| grep metallb-operator-webhook); do sleep 10; done" 2025-11-25 08:56:04.350029 | controller | - metallb-operator-webhook-server-6f5466444-dd94g 1/1 Running 0 40s 2025-11-25 08:56:04.350036 | controller | - oc wait pod -n metallb-system --for condition=Ready -l component=webhook-server 2025-11-25 08:56:04.350044 | controller | --timeout=500s 2025-11-25 08:56:04.350052 | controller | - pod/metallb-operator-webhook-server-6f5466444-dd94g condition met 2025-11-25 08:56:04.350071 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml 2025-11-25 08:56:04.350080 | controller | - metallb.metallb.io/metallb created 2025-11-25 08:56:04.350089 | controller | - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=speaker 2025-11-25 08:56:04.350100 | controller | -n metallb-system | grep speaker); do sleep 10; done" 2025-11-25 08:56:04.350128 | controller | - No resources found in metallb-system namespace. 2025-11-25 08:56:04.350137 | controller | - speaker-9hh4f 1/2 Running 0 10s 2025-11-25 08:56:04.350144 | controller | - oc wait pod -n metallb-system -l component=speaker --for condition=Ready --timeout=500s 2025-11-25 08:56:04.350152 | controller | - pod/speaker-9hh4f condition met 2025-11-25 08:56:04.350160 | controller | - bash scripts/gen-olm.sh 2025-11-25 08:56:04.350168 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.350176 | controller | - + '[' -z infra ']' 2025-11-25 08:56:04.350183 | controller | - + '[' -z quay.io/openstack-k8s-operators/infra-operator-index:latest ']' 2025-11-25 08:56:04.350191 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-11-25 08:56:04.350199 | controller | ']' 2025-11-25 08:56:04.350207 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-11-25 08:56:04.350214 | controller | ']' 2025-11-25 08:56:04.350222 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-11-25 08:56:04.350230 | controller | - + OPERATOR_CHANNEL=alpha 2025-11-25 08:56:04.350238 | controller | - + OPERATOR_SOURCE=infra-operator-index 2025-11-25 08:56:04.350246 | controller | - + OPERATOR_SOURCE_NAMESPACE=openstack-operators 2025-11-25 08:56:04.350253 | controller | - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-11-25 08:56:04.350261 | controller | - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-11-25 08:56:04.350269 | controller | - + echo OPERATOR_CHANNEL alpha 2025-11-25 08:56:04.350277 | controller | - OPERATOR_CHANNEL alpha 2025-11-25 08:56:04.350284 | controller | - + echo OPERATOR_SOURCE infra-operator-index 2025-11-25 08:56:04.350292 | controller | - OPERATOR_SOURCE infra-operator-index 2025-11-25 08:56:04.350300 | controller | - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators 2025-11-25 08:56:04.350308 | controller | - OPERATOR_SOURCE_NAMESPACE openstack-operators 2025-11-25 08:56:04.350316 | controller | - + cat 2025-11-25 08:56:04.350329 | controller | - + cat 2025-11-25 08:56:04.350339 | controller | - + cat 2025-11-25 08:56:04.350347 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-11-25 08:56:04.350355 | controller | - catalogsource.operators.coreos.com/infra-operator-index created 2025-11-25 08:56:04.350363 | controller | - operatorgroup.operators.coreos.com/openstack unchanged 2025-11-25 08:56:04.350371 | controller | - subscription.operators.coreos.com/infra-operator created 2025-11-25 08:56:04.350378 | controller | - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-11-25 08:56:04.350386 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 08:56:04.350394 | controller | - bash scripts/clone-operator-repo.sh 2025-11-25 08:56:04.350406 | controller | - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/infra-operator.git 2025-11-25 08:56:04.350414 | controller | infra-operator' 2025-11-25 08:56:04.350422 | controller | - Cloning into 'infra-operator'... 2025-11-25 08:56:04.350430 | controller | - 'Running checkout: git checkout 038f0cf579da' 2025-11-25 08:56:04.350438 | controller | - 'Note: switching to ''038f0cf579da''.' 2025-11-25 08:56:04.350446 | controller | - '' 2025-11-25 08:56:04.350454 | controller | - You are in 'detached HEAD' state. You can look around, make experimental 2025-11-25 08:56:04.350461 | controller | - changes and commit them, and you can discard any commits you make in this 2025-11-25 08:56:04.350469 | controller | - state without impacting any branches by switching back to a branch. 2025-11-25 08:56:04.350477 | controller | - '' 2025-11-25 08:56:04.350485 | controller | - If you want to create a new branch to retain commits you create, you may 2025-11-25 08:56:04.350492 | controller | - 'do so (now or later) by using -c with the switch command. Example:' 2025-11-25 08:56:04.350500 | controller | - '' 2025-11-25 08:56:04.350508 | controller | - ' git switch -c ' 2025-11-25 08:56:04.350516 | controller | - '' 2025-11-25 08:56:04.350524 | controller | - 'Or undo this operation with:' 2025-11-25 08:56:04.350531 | controller | - '' 2025-11-25 08:56:04.350539 | controller | - ' git switch -' 2025-11-25 08:56:04.350547 | controller | - '' 2025-11-25 08:56:04.350554 | controller | - Turn off this advice by setting config variable advice.detachedHead to false 2025-11-25 08:56:04.350562 | controller | - '' 2025-11-25 08:56:04.350570 | controller | - 'HEAD is now at 038f0cf Merge pull request #498 from stuggi/pin_baseimage' 2025-11-25 08:56:04.350578 | controller | - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml 2025-11-25 08:56:04.350585 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 08:56:04.350593 | controller | - bash scripts/gen-service-kustomize.sh 2025-11-25 08:56:04.350601 | controller | - +++ dirname scripts/gen-service-kustomize.sh 2025-11-25 08:56:04.350609 | controller | - ++ cd scripts 2025-11-25 08:56:04.350616 | controller | - ++ pwd -P 2025-11-25 08:56:04.350624 | controller | - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 08:56:04.350632 | controller | - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh 2025-11-25 08:56:04.350640 | controller | --source-only 2025-11-25 08:56:04.350648 | controller | - ++ set -e 2025-11-25 08:56:04.350655 | controller | - + '[' -z keystone-kuttl-tests ']' 2025-11-25 08:56:04.350663 | controller | - + '[' -z Memcached ']' 2025-11-25 08:56:04.350671 | controller | - + '[' -z osp-secret ']' 2025-11-25 08:56:04.350679 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 08:56:04.350686 | controller | ']' 2025-11-25 08:56:04.350694 | controller | - + '[' -n '' ']' 2025-11-25 08:56:04.350702 | controller | - + REPLACEMENTS= 2025-11-25 08:56:04.350710 | controller | - + IMAGE=unused 2025-11-25 08:56:04.350717 | controller | - + IMAGE_PATH=containerImage 2025-11-25 08:56:04.350725 | controller | - + STORAGE_REQUEST=10G 2025-11-25 08:56:04.350733 | controller | - + INTERFACE_MTU=1500 2025-11-25 08:56:04.350741 | controller | - + VLAN_START=20 2025-11-25 08:56:04.350761 | controller | - + VLAN_STEP=1 2025-11-25 08:56:04.350775 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 08:56:04.350783 | controller | ']' 2025-11-25 08:56:04.350791 | controller | - + pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 08:56:04.350799 | controller | - ~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 08:56:04.350807 | controller | - + cat 2025-11-25 08:56:04.350815 | controller | - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-11-25 08:56:04.350822 | controller | - + IFS=, 2025-11-25 08:56:04.350830 | controller | - + read -ra IMAGES 2025-11-25 08:56:04.350838 | controller | - + IFS=, 2025-11-25 08:56:04.350846 | controller | - + read -ra IMAGE_PATHS 2025-11-25 08:56:04.350853 | controller | - + '[' 1 '!=' 1 ']' 2025-11-25 08:56:04.350861 | controller | - + (( i=0 )) 2025-11-25 08:56:04.350869 | controller | - + (( i < 1 )) 2025-11-25 08:56:04.350876 | controller | - + SPEC_PATH=containerImage 2025-11-25 08:56:04.350884 | controller | - + SPEC_VALUE=unused 2025-11-25 08:56:04.350892 | controller | - + '[' unused '!=' unused ']' 2025-11-25 08:56:04.350900 | controller | - + (( i++ )) 2025-11-25 08:56:04.350907 | controller | - + (( i < 1 )) 2025-11-25 08:56:04.350915 | controller | - + '[' -n memcached ']' 2025-11-25 08:56:04.350927 | controller | - + cat 2025-11-25 08:56:04.350935 | controller | - + '[' Memcached == OpenStackControlPlane ']' 2025-11-25 08:56:04.350943 | controller | - + '[' Memcached == Galera ']' 2025-11-25 08:56:04.350951 | controller | - + '[' Memcached == NetConfig ']' 2025-11-25 08:56:04.350959 | controller | - + '[' -n '' ']' 2025-11-25 08:56:04.350966 | controller | - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-11-25 08:56:04.350974 | controller | - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-11-25 08:56:04.350982 | controller | - + '[' -n '' ']' 2025-11-25 08:56:04.350989 | controller | - + kustomization_add_resources 2025-11-25 08:56:04.350997 | controller | - + echo merge config dir 2025-11-25 08:56:04.351005 | controller | - merge config dir 2025-11-25 08:56:04.351013 | controller | - ++ find . -type f -name '*.yaml' 2025-11-25 08:56:04.351020 | controller | - ++ grep -v kustomization 2025-11-25 08:56:04.351028 | controller | - + yamls=./memcached_v1beta1_memcached.yaml 2025-11-25 08:56:04.351036 | controller | - + for y in ${yamls[@]} 2025-11-25 08:56:04.351043 | controller | - + kustomize edit add resource ./memcached_v1beta1_memcached.yaml 2025-11-25 08:56:04.351050 | controller | - + popd 2025-11-25 08:56:04.351057 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 08:56:04.351065 | controller | - make wait 2025-11-25 08:56:04.351072 | controller | - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-11-25 08:56:04.351079 | controller | - 'error: the server doesn''t have a resource type "openstackversion"' 2025-11-25 08:56:04.351086 | controller | - bash scripts/operator-wait.sh 2025-11-25 08:56:04.351093 | controller | - + TIMEOUT=500s 2025-11-25 08:56:04.351124 | controller | - +++ dirname scripts/operator-wait.sh 2025-11-25 08:56:04.351133 | controller | - ++ cd scripts 2025-11-25 08:56:04.351141 | controller | - ++ pwd -P 2025-11-25 08:56:04.351149 | controller | - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 08:56:04.351175 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.351189 | controller | - + '[' -z infra ']' 2025-11-25 08:56:04.351197 | controller | - + '[' infra = rabbitmq ']' 2025-11-25 08:56:04.351205 | controller | - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 08:56:04.351213 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 08:56:04.351221 | controller | - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" 2025-11-25 08:56:04.351229 | controller | ]; do sleep 5; done' 2025-11-25 08:56:04.351236 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.351244 | controller | - + '[' -z infra ']' 2025-11-25 08:56:04.351251 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-11-25 08:56:04.351259 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-11-25 08:56:04.351266 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-11-25 08:56:04.351281 | controller | json 2025-11-25 08:56:04.351288 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.351299 | controller | - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" 2025-11-25 08:56:04.351307 | controller | not found' 2025-11-25 08:56:04.351314 | controller | - + REPLICAS= 2025-11-25 08:56:04.351322 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.351329 | controller | - + exit 1 2025-11-25 08:56:04.351337 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.351344 | controller | - + '[' -z infra ']' 2025-11-25 08:56:04.351352 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-11-25 08:56:04.351436 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-11-25 08:56:04.351448 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-11-25 08:56:04.351456 | controller | json 2025-11-25 08:56:04.351464 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.351472 | controller | - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" 2025-11-25 08:56:04.351480 | controller | not found' 2025-11-25 08:56:04.351487 | controller | - + REPLICAS= 2025-11-25 08:56:04.351495 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.351503 | controller | - + exit 1 2025-11-25 08:56:04.351510 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.351518 | controller | - + '[' -z infra ']' 2025-11-25 08:56:04.351526 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-11-25 08:56:04.351534 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-11-25 08:56:04.351542 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-11-25 08:56:04.351549 | controller | json 2025-11-25 08:56:04.351557 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.351565 | controller | - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" 2025-11-25 08:56:04.351572 | controller | not found' 2025-11-25 08:56:04.351580 | controller | - + REPLICAS= 2025-11-25 08:56:04.351588 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.351596 | controller | - + exit 1 2025-11-25 08:56:04.351603 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.351611 | controller | - + '[' -z infra ']' 2025-11-25 08:56:04.351619 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-11-25 08:56:04.351627 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-11-25 08:56:04.351634 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-11-25 08:56:04.351642 | controller | json 2025-11-25 08:56:04.351650 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.351658 | controller | - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" 2025-11-25 08:56:04.351665 | controller | not found' 2025-11-25 08:56:04.351673 | controller | - + REPLICAS= 2025-11-25 08:56:04.351693 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.351703 | controller | - + exit 1 2025-11-25 08:56:04.351710 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.351718 | controller | - + '[' -z infra ']' 2025-11-25 08:56:04.351726 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-11-25 08:56:04.351734 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-11-25 08:56:04.351741 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-11-25 08:56:04.351749 | controller | json 2025-11-25 08:56:04.351757 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.351765 | controller | - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" 2025-11-25 08:56:04.351773 | controller | not found' 2025-11-25 08:56:04.351780 | controller | - + REPLICAS= 2025-11-25 08:56:04.351788 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.351796 | controller | - + exit 1 2025-11-25 08:56:04.351804 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.351811 | controller | - + '[' -z infra ']' 2025-11-25 08:56:04.351819 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-11-25 08:56:04.351827 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-11-25 08:56:04.351835 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-11-25 08:56:04.351847 | controller | json 2025-11-25 08:56:04.351855 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.351863 | controller | - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" 2025-11-25 08:56:04.351871 | controller | not found' 2025-11-25 08:56:04.351878 | controller | - + REPLICAS= 2025-11-25 08:56:04.351886 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.351894 | controller | - + exit 1 2025-11-25 08:56:04.351901 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.351909 | controller | - + '[' -z infra ']' 2025-11-25 08:56:04.351917 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-11-25 08:56:04.351924 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-11-25 08:56:04.351932 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-11-25 08:56:04.351940 | controller | json 2025-11-25 08:56:04.351948 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.351955 | controller | - + REPLICAS=null 2025-11-25 08:56:04.351963 | controller | - + '[' null '!=' 1 ']' 2025-11-25 08:56:04.351971 | controller | - + exit 1 2025-11-25 08:56:04.351979 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.351987 | controller | - + '[' -z infra ']' 2025-11-25 08:56:04.351994 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-11-25 08:56:04.352002 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-11-25 08:56:04.352010 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.352018 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-11-25 08:56:04.352025 | controller | json 2025-11-25 08:56:04.352036 | controller | - + REPLICAS=null 2025-11-25 08:56:04.352043 | controller | - + '[' null '!=' 1 ']' 2025-11-25 08:56:04.352051 | controller | - + exit 1 2025-11-25 08:56:04.352059 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.352067 | controller | - + '[' -z infra ']' 2025-11-25 08:56:04.352074 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-11-25 08:56:04.352082 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-11-25 08:56:04.352090 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-11-25 08:56:04.352125 | controller | json 2025-11-25 08:56:04.352140 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.352148 | controller | - + REPLICAS=null 2025-11-25 08:56:04.352156 | controller | - + '[' null '!=' 1 ']' 2025-11-25 08:56:04.352163 | controller | - + exit 1 2025-11-25 08:56:04.352171 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.352179 | controller | - + '[' -z infra ']' 2025-11-25 08:56:04.352187 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-11-25 08:56:04.352194 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-11-25 08:56:04.352202 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-11-25 08:56:04.352210 | controller | json 2025-11-25 08:56:04.352218 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.352225 | controller | - + REPLICAS=null 2025-11-25 08:56:04.352233 | controller | - + '[' null '!=' 1 ']' 2025-11-25 08:56:04.352241 | controller | - + exit 1 2025-11-25 08:56:04.352248 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.352256 | controller | - + '[' -z infra ']' 2025-11-25 08:56:04.352264 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-11-25 08:56:04.352272 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-11-25 08:56:04.352279 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-11-25 08:56:04.352287 | controller | json 2025-11-25 08:56:04.352295 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.352302 | controller | - + REPLICAS=1 2025-11-25 08:56:04.352310 | controller | - + '[' 1 '!=' 1 ']' 2025-11-25 08:56:04.352318 | controller | - + echo Succeeded 2025-11-25 08:56:04.352325 | controller | - + exit 0 2025-11-25 08:56:04.352333 | controller | - + rc=0 2025-11-25 08:56:04.352341 | controller | - + popd 2025-11-25 08:56:04.352349 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 08:56:04.352356 | controller | - + exit 0 2025-11-25 08:56:04.352364 | controller | - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-11-25 08:56:04.352376 | controller | - bash scripts/operator-deploy-resources.sh 2025-11-25 08:56:04.352384 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 08:56:04.352392 | controller | ']' 2025-11-25 08:56:04.352399 | controller | - + NEXT_WAIT_TIME=0 2025-11-25 08:56:04.352407 | controller | - + '[' 0 -eq 15 ']' 2025-11-25 08:56:04.352415 | controller | - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 08:56:04.352423 | controller | - + oc apply -f - 2025-11-25 08:56:04.352430 | controller | - memcached.memcached.openstack.org/memcached created 2025-11-25 08:56:04.352438 | controller | - + '[' 0 -lt 15 ']' 2025-11-25 08:56:04.352446 | controller | - bash scripts/gen-olm.sh 2025-11-25 08:56:04.352453 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.352461 | controller | - + '[' -z rabbitmq-cluster ']' 2025-11-25 08:56:04.352469 | controller | - + '[' -z quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest 2025-11-25 08:56:04.352477 | controller | ']' 2025-11-25 08:56:04.352484 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op 2025-11-25 08:56:04.352492 | controller | ']' 2025-11-25 08:56:04.352500 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op 2025-11-25 08:56:04.352508 | controller | ']' 2025-11-25 08:56:04.352516 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op 2025-11-25 08:56:04.352524 | controller | - + OPERATOR_CHANNEL=alpha 2025-11-25 08:56:04.352531 | controller | - + OPERATOR_SOURCE=rabbitmq-cluster-operator-index 2025-11-25 08:56:04.352539 | controller | - + OPERATOR_SOURCE_NAMESPACE=openstack-operators 2025-11-25 08:56:04.352557 | controller | - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op 2025-11-25 08:56:04.352567 | controller | - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op 2025-11-25 08:56:04.352575 | controller | - + echo OPERATOR_CHANNEL alpha 2025-11-25 08:56:04.352582 | controller | - OPERATOR_CHANNEL alpha 2025-11-25 08:56:04.352590 | controller | - + echo OPERATOR_SOURCE rabbitmq-cluster-operator-index 2025-11-25 08:56:04.352598 | controller | - OPERATOR_SOURCE rabbitmq-cluster-operator-index 2025-11-25 08:56:04.352606 | controller | - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators 2025-11-25 08:56:04.352613 | controller | - OPERATOR_SOURCE_NAMESPACE openstack-operators 2025-11-25 08:56:04.352621 | controller | - + cat 2025-11-25 08:56:04.352629 | controller | - + cat 2025-11-25 08:56:04.352636 | controller | - + cat 2025-11-25 08:56:04.352644 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op 2025-11-25 08:56:04.352651 | controller | - catalogsource.operators.coreos.com/rabbitmq-cluster-operator-index created 2025-11-25 08:56:04.352663 | controller | - operatorgroup.operators.coreos.com/openstack unchanged 2025-11-25 08:56:04.352671 | controller | - subscription.operators.coreos.com/rabbitmq-cluster-operator created 2025-11-25 08:56:04.352678 | controller | - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/op 2025-11-25 08:56:04.352686 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-11-25 08:56:04.352694 | controller | - bash -c "CHECKOUT_FROM_OPENSTACK_REF=false scripts/clone-operator-repo.sh" 2025-11-25 08:56:04.352701 | controller | - 'Cloning repo: git clone -b patches https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git 2025-11-25 08:56:04.352709 | controller | rabbitmq-operator' 2025-11-25 08:56:04.352716 | controller | - Cloning into 'rabbitmq-operator'... 2025-11-25 08:56:04.352724 | controller | - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml 2025-11-25 08:56:04.352731 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-11-25 08:56:04.352739 | controller | - bash scripts/gen-service-kustomize.sh 2025-11-25 08:56:04.352751 | controller | - +++ dirname scripts/gen-service-kustomize.sh 2025-11-25 08:56:04.352758 | controller | - ++ cd scripts 2025-11-25 08:56:04.352766 | controller | - ++ pwd -P 2025-11-25 08:56:04.352774 | controller | - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 08:56:04.352781 | controller | - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh 2025-11-25 08:56:04.352789 | controller | --source-only 2025-11-25 08:56:04.352800 | controller | - ++ set -e 2025-11-25 08:56:04.352807 | controller | - + '[' -z keystone-kuttl-tests ']' 2025-11-25 08:56:04.352815 | controller | - + '[' -z RabbitmqCluster ']' 2025-11-25 08:56:04.352823 | controller | - + '[' -z osp-secret ']' 2025-11-25 08:56:04.352830 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-11-25 08:56:04.352838 | controller | ']' 2025-11-25 08:56:04.352845 | controller | - + '[' -n '' ']' 2025-11-25 08:56:04.352853 | controller | - + REPLACEMENTS= 2025-11-25 08:56:04.352861 | controller | - + IMAGE=unused 2025-11-25 08:56:04.352868 | controller | - + IMAGE_PATH=image 2025-11-25 08:56:04.352876 | controller | - + STORAGE_REQUEST=10G 2025-11-25 08:56:04.352883 | controller | - + INTERFACE_MTU=1500 2025-11-25 08:56:04.352891 | controller | - + VLAN_START=20 2025-11-25 08:56:04.352898 | controller | - + VLAN_STEP=1 2025-11-25 08:56:04.352906 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-11-25 08:56:04.352913 | controller | ']' 2025-11-25 08:56:04.352921 | controller | - + pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-11-25 08:56:04.352928 | controller | - ~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 08:56:04.352939 | controller | - + cat 2025-11-25 08:56:04.352947 | controller | - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-11-25 08:56:04.352954 | controller | - + IFS=, 2025-11-25 08:56:04.352962 | controller | - + read -ra IMAGES 2025-11-25 08:56:04.352970 | controller | - + IFS=, 2025-11-25 08:56:04.352977 | controller | - + read -ra IMAGE_PATHS 2025-11-25 08:56:04.352985 | controller | - + '[' 1 '!=' 1 ']' 2025-11-25 08:56:04.352993 | controller | - + (( i=0 )) 2025-11-25 08:56:04.353000 | controller | - + (( i < 1 )) 2025-11-25 08:56:04.353007 | controller | - + SPEC_PATH=image 2025-11-25 08:56:04.353015 | controller | - + SPEC_VALUE=unused 2025-11-25 08:56:04.353023 | controller | - + '[' unused '!=' unused ']' 2025-11-25 08:56:04.353030 | controller | - + (( i++ )) 2025-11-25 08:56:04.353038 | controller | - + (( i < 1 )) 2025-11-25 08:56:04.353045 | controller | - + '[' -n rabbitmq ']' 2025-11-25 08:56:04.353053 | controller | - + cat 2025-11-25 08:56:04.353060 | controller | - + '[' RabbitmqCluster == OpenStackControlPlane ']' 2025-11-25 08:56:04.353068 | controller | - + '[' RabbitmqCluster == Galera ']' 2025-11-25 08:56:04.353075 | controller | - + '[' RabbitmqCluster == NetConfig ']' 2025-11-25 08:56:04.353082 | controller | - + '[' -n '' ']' 2025-11-25 08:56:04.353090 | controller | - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-11-25 08:56:04.353119 | controller | - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-11-25 08:56:04.353132 | controller | - + '[' -n '' ']' 2025-11-25 08:56:04.353140 | controller | - + kustomization_add_resources 2025-11-25 08:56:04.353147 | controller | - + echo merge config dir 2025-11-25 08:56:04.353155 | controller | - merge config dir 2025-11-25 08:56:04.353163 | controller | - ++ find . -type f -name '*.yaml' 2025-11-25 08:56:04.353171 | controller | - ++ grep -v kustomization 2025-11-25 08:56:04.353178 | controller | - + yamls=./rabbitmq.yaml 2025-11-25 08:56:04.353186 | controller | - + for y in ${yamls[@]} 2025-11-25 08:56:04.353194 | controller | - + kustomize edit add resource ./rabbitmq.yaml 2025-11-25 08:56:04.353202 | controller | - + popd 2025-11-25 08:56:04.353209 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 08:56:04.353217 | controller | - make wait 2025-11-25 08:56:04.353225 | controller | - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-11-25 08:56:04.353233 | controller | - 'error: the server doesn''t have a resource type "openstackversion"' 2025-11-25 08:56:04.353245 | controller | - bash scripts/operator-wait.sh 2025-11-25 08:56:04.353257 | controller | - + TIMEOUT=500s 2025-11-25 08:56:04.353265 | controller | - +++ dirname scripts/operator-wait.sh 2025-11-25 08:56:04.353273 | controller | - ++ cd scripts 2025-11-25 08:56:04.353281 | controller | - ++ pwd -P 2025-11-25 08:56:04.353298 | controller | - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 08:56:04.353307 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.353315 | controller | - + '[' -z rabbitmq ']' 2025-11-25 08:56:04.353323 | controller | - + '[' rabbitmq = rabbitmq ']' 2025-11-25 08:56:04.353331 | controller | - + OPERATOR_NAME=rabbitmq-cluster 2025-11-25 08:56:04.353339 | controller | - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 08:56:04.353347 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 08:56:04.353355 | controller | - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" 2025-11-25 08:56:04.353363 | controller | ]; do sleep 5; done' 2025-11-25 08:56:04.353371 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.353379 | controller | - + '[' -z rabbitmq-cluster ']' 2025-11-25 08:56:04.353387 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-11-25 08:56:04.353395 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-11-25 08:56:04.353402 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-11-25 08:56:04.353410 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.353418 | controller | - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not 2025-11-25 08:56:04.353426 | controller | found' 2025-11-25 08:56:04.353434 | controller | - + REPLICAS= 2025-11-25 08:56:04.353441 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.353449 | controller | - + exit 1 2025-11-25 08:56:04.353457 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.353465 | controller | - + '[' -z rabbitmq-cluster ']' 2025-11-25 08:56:04.353473 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-11-25 08:56:04.353480 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-11-25 08:56:04.353488 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-11-25 08:56:04.353496 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.353504 | controller | - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not 2025-11-25 08:56:04.353512 | controller | found' 2025-11-25 08:56:04.353519 | controller | - + REPLICAS= 2025-11-25 08:56:04.353527 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.353535 | controller | - + exit 1 2025-11-25 08:56:04.353543 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.353551 | controller | - + '[' -z rabbitmq-cluster ']' 2025-11-25 08:56:04.353558 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-11-25 08:56:04.353570 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-11-25 08:56:04.353579 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-11-25 08:56:04.353586 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.353594 | controller | - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not 2025-11-25 08:56:04.353602 | controller | found' 2025-11-25 08:56:04.353610 | controller | - + REPLICAS= 2025-11-25 08:56:04.353617 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.353625 | controller | - + exit 1 2025-11-25 08:56:04.353633 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.353641 | controller | - + '[' -z rabbitmq-cluster ']' 2025-11-25 08:56:04.353648 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-11-25 08:56:04.353656 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-11-25 08:56:04.353664 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.353672 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-11-25 08:56:04.353680 | controller | - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not 2025-11-25 08:56:04.353687 | controller | found' 2025-11-25 08:56:04.353695 | controller | - + REPLICAS= 2025-11-25 08:56:04.353703 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.353715 | controller | - + exit 1 2025-11-25 08:56:04.353723 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.353731 | controller | - + '[' -z rabbitmq-cluster ']' 2025-11-25 08:56:04.353738 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-11-25 08:56:04.353746 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-11-25 08:56:04.353754 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-11-25 08:56:04.353762 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.353769 | controller | - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not 2025-11-25 08:56:04.353777 | controller | found' 2025-11-25 08:56:04.353785 | controller | - + REPLICAS= 2025-11-25 08:56:04.353792 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.353800 | controller | - + exit 1 2025-11-25 08:56:04.353808 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.353816 | controller | - + '[' -z rabbitmq-cluster ']' 2025-11-25 08:56:04.353823 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-11-25 08:56:04.353831 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-11-25 08:56:04.353839 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-11-25 08:56:04.353847 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.353854 | controller | - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not 2025-11-25 08:56:04.353862 | controller | found' 2025-11-25 08:56:04.353870 | controller | - + REPLICAS= 2025-11-25 08:56:04.353878 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.353885 | controller | - + exit 1 2025-11-25 08:56:04.353893 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.353901 | controller | - + '[' -z rabbitmq-cluster ']' 2025-11-25 08:56:04.353909 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-11-25 08:56:04.353916 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-11-25 08:56:04.353924 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-11-25 08:56:04.353932 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.353939 | controller | - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not 2025-11-25 08:56:04.353947 | controller | found' 2025-11-25 08:56:04.353955 | controller | - + REPLICAS= 2025-11-25 08:56:04.353963 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.353970 | controller | - + exit 1 2025-11-25 08:56:04.353978 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.353986 | controller | - + '[' -z rabbitmq-cluster ']' 2025-11-25 08:56:04.353994 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-11-25 08:56:04.354002 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-11-25 08:56:04.354009 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-11-25 08:56:04.354017 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.354025 | controller | - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not 2025-11-25 08:56:04.354042 | controller | found' 2025-11-25 08:56:04.354051 | controller | - + REPLICAS= 2025-11-25 08:56:04.354059 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.354067 | controller | - + exit 1 2025-11-25 08:56:04.354075 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.354082 | controller | - + '[' -z rabbitmq-cluster ']' 2025-11-25 08:56:04.354090 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-11-25 08:56:04.354115 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-11-25 08:56:04.354128 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-11-25 08:56:04.354136 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.354144 | controller | - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not 2025-11-25 08:56:04.354152 | controller | found' 2025-11-25 08:56:04.354160 | controller | - + REPLICAS= 2025-11-25 08:56:04.354167 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.354175 | controller | - + exit 1 2025-11-25 08:56:04.354183 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.354191 | controller | - + '[' -z rabbitmq-cluster ']' 2025-11-25 08:56:04.354198 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-11-25 08:56:04.354210 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-11-25 08:56:04.354218 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-11-25 08:56:04.354226 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.354234 | controller | - + REPLICAS=null 2025-11-25 08:56:04.354241 | controller | - + '[' null '!=' 1 ']' 2025-11-25 08:56:04.354249 | controller | - + exit 1 2025-11-25 08:56:04.354257 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.354265 | controller | - + '[' -z rabbitmq-cluster ']' 2025-11-25 08:56:04.354272 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-11-25 08:56:04.354280 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-11-25 08:56:04.354288 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-11-25 08:56:04.354295 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.354303 | controller | - + REPLICAS=1 2025-11-25 08:56:04.354311 | controller | - + '[' 1 '!=' 1 ']' 2025-11-25 08:56:04.354318 | controller | - + echo Succeeded 2025-11-25 08:56:04.354326 | controller | - + exit 0 2025-11-25 08:56:04.354334 | controller | - + rc=0 2025-11-25 08:56:04.354341 | controller | - + popd 2025-11-25 08:56:04.354349 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 08:56:04.354357 | controller | - + exit 0 2025-11-25 08:56:04.354369 | controller | - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-11-25 08:56:04.354377 | controller | - bash scripts/operator-deploy-resources.sh 2025-11-25 08:56:04.354385 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-11-25 08:56:04.354392 | controller | ']' 2025-11-25 08:56:04.354400 | controller | - + NEXT_WAIT_TIME=0 2025-11-25 08:56:04.354408 | controller | - + '[' 0 -eq 15 ']' 2025-11-25 08:56:04.354415 | controller | - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-11-25 08:56:04.354423 | controller | - + oc apply -f - 2025-11-25 08:56:04.354430 | controller | - rabbitmqcluster.rabbitmq.com/rabbitmq created 2025-11-25 08:56:04.354438 | controller | - + '[' 0 -lt 15 ']' 2025-11-25 08:56:04.354446 | controller | - bash scripts/gen-olm.sh 2025-11-25 08:56:04.354454 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.354462 | controller | - + '[' -z keystone ']' 2025-11-25 08:56:04.354469 | controller | - + '[' -z 38.129.56.231:5001/openstack-k8s-operators/keystone-operator-index:99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a 2025-11-25 08:56:04.354477 | controller | ']' 2025-11-25 08:56:04.354485 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-11-25 08:56:04.354493 | controller | ']' 2025-11-25 08:56:04.354501 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-11-25 08:56:04.354509 | controller | ']' 2025-11-25 08:56:04.354516 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-11-25 08:56:04.354524 | controller | - + OPERATOR_CHANNEL=alpha 2025-11-25 08:56:04.354536 | controller | - + OPERATOR_SOURCE=keystone-operator-index 2025-11-25 08:56:04.354544 | controller | - + OPERATOR_SOURCE_NAMESPACE=openstack-operators 2025-11-25 08:56:04.354552 | controller | - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-11-25 08:56:04.354560 | controller | - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-11-25 08:56:04.354568 | controller | - + echo OPERATOR_CHANNEL alpha 2025-11-25 08:56:04.354575 | controller | - OPERATOR_CHANNEL alpha 2025-11-25 08:56:04.354583 | controller | - + echo OPERATOR_SOURCE keystone-operator-index 2025-11-25 08:56:04.354591 | controller | - OPERATOR_SOURCE keystone-operator-index 2025-11-25 08:56:04.354599 | controller | - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators 2025-11-25 08:56:04.354606 | controller | - OPERATOR_SOURCE_NAMESPACE openstack-operators 2025-11-25 08:56:04.354614 | controller | - + cat 2025-11-25 08:56:04.354622 | controller | - + cat 2025-11-25 08:56:04.354630 | controller | - + cat 2025-11-25 08:56:04.354638 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-11-25 08:56:04.354653 | controller | - catalogsource.operators.coreos.com/keystone-operator-index created 2025-11-25 08:56:04.354661 | controller | - operatorgroup.operators.coreos.com/openstack unchanged 2025-11-25 08:56:04.354669 | controller | - subscription.operators.coreos.com/keystone-operator created 2025-11-25 08:56:04.354677 | controller | - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-11-25 08:56:04.354685 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-11-25 08:56:04.354693 | controller | - bash scripts/clone-operator-repo.sh 2025-11-25 08:56:04.354700 | controller | - 'Cloning repo: git clone /home/zuul/src/github.com/openstack-k8s-operators/keystone-operator 2025-11-25 08:56:04.354708 | controller | keystone-operator' 2025-11-25 08:56:04.354716 | controller | - Cloning into 'keystone-operator'... 2025-11-25 08:56:04.354727 | controller | - done. 2025-11-25 08:56:04.354736 | controller | - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml 2025-11-25 08:56:04.354744 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-11-25 08:56:04.354751 | controller | - bash scripts/gen-service-kustomize.sh 2025-11-25 08:56:04.354769 | controller | - +++ dirname scripts/gen-service-kustomize.sh 2025-11-25 08:56:04.354779 | controller | - ++ cd scripts 2025-11-25 08:56:04.354787 | controller | - ++ pwd -P 2025-11-25 08:56:04.354795 | controller | - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 08:56:04.354803 | controller | - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh 2025-11-25 08:56:04.354810 | controller | --source-only 2025-11-25 08:56:04.354818 | controller | - ++ set -e 2025-11-25 08:56:04.354826 | controller | - + '[' -z keystone-kuttl-tests ']' 2025-11-25 08:56:04.354834 | controller | - + '[' -z KeystoneAPI ']' 2025-11-25 08:56:04.354842 | controller | - + '[' -z osp-secret ']' 2025-11-25 08:56:04.354850 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-11-25 08:56:04.354857 | controller | ']' 2025-11-25 08:56:04.354865 | controller | - + '[' -n '' ']' 2025-11-25 08:56:04.354873 | controller | - + REPLACEMENTS= 2025-11-25 08:56:04.354881 | controller | - + IMAGE=unused 2025-11-25 08:56:04.354889 | controller | - + IMAGE_PATH=containerImage 2025-11-25 08:56:04.354897 | controller | - + STORAGE_REQUEST=10G 2025-11-25 08:56:04.354904 | controller | - + INTERFACE_MTU=1500 2025-11-25 08:56:04.354912 | controller | - + VLAN_START=20 2025-11-25 08:56:04.354920 | controller | - + VLAN_STEP=1 2025-11-25 08:56:04.354927 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-11-25 08:56:04.354935 | controller | ']' 2025-11-25 08:56:04.354943 | controller | - + pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-11-25 08:56:04.354951 | controller | - ~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 08:56:04.354959 | controller | - + cat 2025-11-25 08:56:04.354966 | controller | - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-11-25 08:56:04.354974 | controller | - + IFS=, 2025-11-25 08:56:04.354982 | controller | - + read -ra IMAGES 2025-11-25 08:56:04.354989 | controller | - + IFS=, 2025-11-25 08:56:04.354997 | controller | - + read -ra IMAGE_PATHS 2025-11-25 08:56:04.355005 | controller | - + '[' 1 '!=' 1 ']' 2025-11-25 08:56:04.355012 | controller | - + (( i=0 )) 2025-11-25 08:56:04.355020 | controller | - + (( i < 1 )) 2025-11-25 08:56:04.355028 | controller | - + SPEC_PATH=containerImage 2025-11-25 08:56:04.355036 | controller | - + SPEC_VALUE=unused 2025-11-25 08:56:04.355043 | controller | - + '[' unused '!=' unused ']' 2025-11-25 08:56:04.355051 | controller | - + (( i++ )) 2025-11-25 08:56:04.355059 | controller | - + (( i < 1 )) 2025-11-25 08:56:04.355067 | controller | - + '[' -n '' ']' 2025-11-25 08:56:04.355074 | controller | - + '[' KeystoneAPI == OpenStackControlPlane ']' 2025-11-25 08:56:04.355082 | controller | - + '[' KeystoneAPI == Galera ']' 2025-11-25 08:56:04.355094 | controller | - + '[' KeystoneAPI == NetConfig ']' 2025-11-25 08:56:04.355124 | controller | - + '[' -n '' ']' 2025-11-25 08:56:04.355133 | controller | - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-11-25 08:56:04.355141 | controller | - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-11-25 08:56:04.355148 | controller | - + '[' -n '' ']' 2025-11-25 08:56:04.355156 | controller | - + kustomization_add_resources 2025-11-25 08:56:04.355164 | controller | - + echo merge config dir 2025-11-25 08:56:04.355185 | controller | - merge config dir 2025-11-25 08:56:04.355194 | controller | - ++ grep -v kustomization 2025-11-25 08:56:04.355201 | controller | - ++ find . -type f -name '*.yaml' 2025-11-25 08:56:04.355209 | controller | - + yamls=./keystone_v1beta1_keystoneapi.yaml 2025-11-25 08:56:04.355217 | controller | - + for y in ${yamls[@]} 2025-11-25 08:56:04.355225 | controller | - + kustomize edit add resource ./keystone_v1beta1_keystoneapi.yaml 2025-11-25 08:56:04.355232 | controller | - + popd 2025-11-25 08:56:04.355240 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 08:56:04.355248 | controller | - make wait 2025-11-25 08:56:04.355256 | controller | - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-11-25 08:56:04.355264 | controller | - 'error: the server doesn''t have a resource type "openstackversion"' 2025-11-25 08:56:04.355272 | controller | - bash scripts/operator-wait.sh 2025-11-25 08:56:04.355280 | controller | - + TIMEOUT=500s 2025-11-25 08:56:04.355288 | controller | - +++ dirname scripts/operator-wait.sh 2025-11-25 08:56:04.355295 | controller | - ++ cd scripts 2025-11-25 08:56:04.355303 | controller | - ++ pwd -P 2025-11-25 08:56:04.355311 | controller | - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 08:56:04.355319 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.355326 | controller | - + '[' -z keystone ']' 2025-11-25 08:56:04.355334 | controller | - + '[' keystone = rabbitmq ']' 2025-11-25 08:56:04.355342 | controller | - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 08:56:04.355350 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 08:56:04.355357 | controller | - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" 2025-11-25 08:56:04.355365 | controller | ]; do sleep 5; done' 2025-11-25 08:56:04.355373 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.355381 | controller | - + '[' -z keystone ']' 2025-11-25 08:56:04.355388 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-11-25 08:56:04.355396 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-11-25 08:56:04.355404 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.355411 | controller | -o json 2025-11-25 08:56:04.355419 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.355426 | controller | - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" 2025-11-25 08:56:04.355434 | controller | not found' 2025-11-25 08:56:04.355441 | controller | - + REPLICAS= 2025-11-25 08:56:04.355449 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.355456 | controller | - + exit 1 2025-11-25 08:56:04.355464 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.355472 | controller | - + '[' -z keystone ']' 2025-11-25 08:56:04.355479 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-11-25 08:56:04.355487 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-11-25 08:56:04.355494 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.355502 | controller | -o json 2025-11-25 08:56:04.355509 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.355517 | controller | - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" 2025-11-25 08:56:04.355524 | controller | not found' 2025-11-25 08:56:04.355532 | controller | - + REPLICAS= 2025-11-25 08:56:04.355539 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.355547 | controller | - + exit 1 2025-11-25 08:56:04.355554 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.355562 | controller | - + '[' -z keystone ']' 2025-11-25 08:56:04.355574 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-11-25 08:56:04.355592 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-11-25 08:56:04.355601 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.355609 | controller | -o json 2025-11-25 08:56:04.355616 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.355624 | controller | - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" 2025-11-25 08:56:04.355631 | controller | not found' 2025-11-25 08:56:04.355639 | controller | - + REPLICAS= 2025-11-25 08:56:04.355646 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.355654 | controller | - + exit 1 2025-11-25 08:56:04.355662 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.355669 | controller | - + '[' -z keystone ']' 2025-11-25 08:56:04.355677 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-11-25 08:56:04.355684 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-11-25 08:56:04.355692 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.355699 | controller | -o json 2025-11-25 08:56:04.355707 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.355714 | controller | - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" 2025-11-25 08:56:04.355722 | controller | not found' 2025-11-25 08:56:04.355730 | controller | - + REPLICAS= 2025-11-25 08:56:04.355738 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.355746 | controller | - + exit 1 2025-11-25 08:56:04.355753 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.355761 | controller | - + '[' -z keystone ']' 2025-11-25 08:56:04.355768 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-11-25 08:56:04.355776 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-11-25 08:56:04.355788 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.355796 | controller | -o json 2025-11-25 08:56:04.355803 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.355811 | controller | - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" 2025-11-25 08:56:04.355819 | controller | not found' 2025-11-25 08:56:04.355826 | controller | - + REPLICAS= 2025-11-25 08:56:04.355833 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.355841 | controller | - + exit 1 2025-11-25 08:56:04.355848 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.355856 | controller | - + '[' -z keystone ']' 2025-11-25 08:56:04.355863 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-11-25 08:56:04.355871 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-11-25 08:56:04.355878 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.355886 | controller | -o json 2025-11-25 08:56:04.355894 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.355901 | controller | - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" 2025-11-25 08:56:04.355910 | controller | not found' 2025-11-25 08:56:04.355918 | controller | - + REPLICAS= 2025-11-25 08:56:04.355925 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 08:56:04.355933 | controller | - + exit 1 2025-11-25 08:56:04.355941 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.355949 | controller | - + '[' -z keystone ']' 2025-11-25 08:56:04.355957 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-11-25 08:56:04.355965 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-11-25 08:56:04.355973 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.355981 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.355989 | controller | -o json 2025-11-25 08:56:04.355997 | controller | - + REPLICAS=null 2025-11-25 08:56:04.356005 | controller | - + '[' null '!=' 1 ']' 2025-11-25 08:56:04.356017 | controller | - + exit 1 2025-11-25 08:56:04.356025 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.356032 | controller | - + '[' -z keystone ']' 2025-11-25 08:56:04.356040 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-11-25 08:56:04.356048 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-11-25 08:56:04.356060 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.356068 | controller | -o json 2025-11-25 08:56:04.356076 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.356083 | controller | - + REPLICAS=null 2025-11-25 08:56:04.356091 | controller | - + '[' null '!=' 1 ']' 2025-11-25 08:56:04.356126 | controller | - + exit 1 2025-11-25 08:56:04.356140 | controller | - + '[' -z openstack-operators ']' 2025-11-25 08:56:04.356148 | controller | - + '[' -z keystone ']' 2025-11-25 08:56:04.356156 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-11-25 08:56:04.356164 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-11-25 08:56:04.356172 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.356179 | controller | -o json 2025-11-25 08:56:04.356187 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 08:56:04.356195 | controller | - + REPLICAS=1 2025-11-25 08:56:04.356203 | controller | - + '[' 1 '!=' 1 ']' 2025-11-25 08:56:04.356211 | controller | - + echo Succeeded 2025-11-25 08:56:04.356219 | controller | - + exit 0 2025-11-25 08:56:04.356227 | controller | - + rc=0 2025-11-25 08:56:04.356234 | controller | - + popd 2025-11-25 08:56:04.356242 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 08:56:04.356250 | controller | - + exit 0 2025-11-25 08:56:04.356257 | controller | - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-11-25 08:56:04.356265 | controller | - make keystone_kuttl_run 2025-11-25 08:56:04.356273 | controller | - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-11-25 08:56:04.356281 | controller | - 'error: the server doesn''t have a resource type "openstackversion"' 2025-11-25 08:56:04.356288 | controller | - 'KEYSTONE_KUTTL_DIR=/home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests 2025-11-25 08:56:04.356296 | controller | kubectl-kuttl test --config /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/kuttl-test.yaml 2025-11-25 08:56:04.356304 | controller | /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests 2025-11-25 08:56:04.356312 | controller | --namespace keystone-kuttl-tests ' 2025-11-25 08:56:04.356320 | controller | - '2025/11/25 08:47:20 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests 2025-11-25 08:56:04.356327 | controller | ]' 2025-11-25 08:56:04.356339 | controller | - === RUN kuttl 2025-11-25 08:56:04.356347 | controller | - ' harness.go:463: starting setup' 2025-11-25 08:56:04.356355 | controller | - ' harness.go:255: running tests using configured kubeconfig.' 2025-11-25 08:56:04.356372 | controller | - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' 2025-11-25 08:56:04.356381 | controller | - ' harness.go:363: running tests' 2025-11-25 08:56:04.356389 | controller | - ' harness.go:75: going to run test suite with timeout of 800 seconds for each 2025-11-25 08:56:04.356397 | controller | step' 2025-11-25 08:56:04.356404 | controller | - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests 2025-11-25 08:56:04.356412 | controller | has 5 tests' 2025-11-25 08:56:04.356420 | controller | - === RUN kuttl/harness 2025-11-25 08:56:04.356428 | controller | - === RUN kuttl/harness/change_keystone_config 2025-11-25 08:56:04.356435 | controller | - === PAUSE kuttl/harness/change_keystone_config 2025-11-25 08:56:04.356443 | controller | - === RUN kuttl/harness/fernet_rotation 2025-11-25 08:56:04.356451 | controller | - === PAUSE kuttl/harness/fernet_rotation 2025-11-25 08:56:04.356458 | controller | - === RUN kuttl/harness/keystone_resources 2025-11-25 08:56:04.356470 | controller | - === PAUSE kuttl/harness/keystone_resources 2025-11-25 08:56:04.356478 | controller | - === RUN kuttl/harness/keystone_scale 2025-11-25 08:56:04.356486 | controller | - === PAUSE kuttl/harness/keystone_scale 2025-11-25 08:56:04.356493 | controller | - === RUN kuttl/harness/keystone_tls 2025-11-25 08:56:04.356501 | controller | - === PAUSE kuttl/harness/keystone_tls 2025-11-25 08:56:04.356512 | controller | - === CONT kuttl/harness/change_keystone_config 2025-11-25 08:56:04.356520 | controller | - ' logger.go:42: 08:47:20 | change_keystone_config | Skipping creation of user-supplied 2025-11-25 08:56:04.356528 | controller | namespace: keystone-kuttl-tests' 2025-11-25 08:56:04.356540 | controller | - ' logger.go:42: 08:47:20 | change_keystone_config/0-deploy_keystone | starting 2025-11-25 08:56:04.356547 | controller | test step 0-deploy_keystone' 2025-11-25 08:56:04.356555 | controller | - ' logger.go:42: 08:47:20 | change_keystone_config/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone 2025-11-25 08:56:04.356563 | controller | created' 2025-11-25 08:56:04.356572 | controller | - ' logger.go:42: 08:47:20 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.356580 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.356587 | controller | so we can''t rely on' 2025-11-25 08:56:04.356595 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.356603 | controller | and checks that' 2025-11-25 08:56:04.356611 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.356619 | controller | pattern' 2025-11-25 08:56:04.356627 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.356634 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.356642 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.356650 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.356658 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.356666 | controller | - ' exit 0' 2025-11-25 08:56:04.356673 | controller | - ' else' 2025-11-25 08:56:04.356681 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.356689 | controller | - ' exit 1' 2025-11-25 08:56:04.356697 | controller | - ' fi' 2025-11-25 08:56:04.356705 | controller | - ' ' 2025-11-25 08:56:04.356712 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.356720 | controller | them with a script' 2025-11-25 08:56:04.356728 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.356736 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.356743 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.356751 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.356759 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.356774 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.356782 | controller | - ' # it is an image' 2025-11-25 08:56:04.356790 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.356798 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.356805 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.356813 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.356821 | controller | - ' case $NAME in' 2025-11-25 08:56:04.356828 | controller | - ' API)' 2025-11-25 08:56:04.356836 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.356844 | controller | - ' ;;' 2025-11-25 08:56:04.356852 | controller | - ' esac' 2025-11-25 08:56:04.356860 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.356867 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.356879 | controller | - ' exit 1' 2025-11-25 08:56:04.356887 | controller | - ' fi' 2025-11-25 08:56:04.356895 | controller | - ' fi' 2025-11-25 08:56:04.356903 | controller | - ' done' 2025-11-25 08:56:04.356911 | controller | - ' ]' 2025-11-25 08:56:04.356918 | controller | - ' logger.go:42: 08:47:20 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.356926 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.356934 | controller | - ' logger.go:42: 08:47:21 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.356942 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.356950 | controller | so we can''t rely on' 2025-11-25 08:56:04.356957 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.356974 | controller | and checks that' 2025-11-25 08:56:04.356983 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.356991 | controller | pattern' 2025-11-25 08:56:04.356999 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.357006 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.357014 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.357022 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.357029 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.357037 | controller | - ' exit 0' 2025-11-25 08:56:04.357045 | controller | - ' else' 2025-11-25 08:56:04.357053 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.357060 | controller | - ' exit 1' 2025-11-25 08:56:04.357068 | controller | - ' fi' 2025-11-25 08:56:04.357076 | controller | - ' ' 2025-11-25 08:56:04.357084 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.357092 | controller | them with a script' 2025-11-25 08:56:04.357118 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.357131 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.357139 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.357147 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.357155 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.357171 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.357179 | controller | - ' # it is an image' 2025-11-25 08:56:04.357186 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.357194 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.357202 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.357210 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.357217 | controller | - ' case $NAME in' 2025-11-25 08:56:04.357225 | controller | - ' API)' 2025-11-25 08:56:04.357233 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.357241 | controller | - ' ;;' 2025-11-25 08:56:04.357248 | controller | - ' esac' 2025-11-25 08:56:04.357256 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.357268 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.357276 | controller | - ' exit 1' 2025-11-25 08:56:04.357284 | controller | - ' fi' 2025-11-25 08:56:04.357292 | controller | - ' fi' 2025-11-25 08:56:04.357299 | controller | - ' done' 2025-11-25 08:56:04.357311 | controller | - ' ]' 2025-11-25 08:56:04.357319 | controller | - ' logger.go:42: 08:47:21 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.357327 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.357335 | controller | - ' logger.go:42: 08:47:22 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.357342 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.357350 | controller | so we can''t rely on' 2025-11-25 08:56:04.357358 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.357365 | controller | and checks that' 2025-11-25 08:56:04.357373 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.357381 | controller | pattern' 2025-11-25 08:56:04.357392 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.357400 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.357408 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.357416 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.357423 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.357431 | controller | - ' exit 0' 2025-11-25 08:56:04.357439 | controller | - ' else' 2025-11-25 08:56:04.357447 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.357454 | controller | - ' exit 1' 2025-11-25 08:56:04.357462 | controller | - ' fi' 2025-11-25 08:56:04.357470 | controller | - ' ' 2025-11-25 08:56:04.357478 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.357486 | controller | them with a script' 2025-11-25 08:56:04.357493 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.357501 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.357509 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.357516 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.357524 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.357540 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.357547 | controller | - ' # it is an image' 2025-11-25 08:56:04.357555 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.357563 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.357584 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.357594 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.357602 | controller | - ' case $NAME in' 2025-11-25 08:56:04.357610 | controller | - ' API)' 2025-11-25 08:56:04.357618 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.357625 | controller | - ' ;;' 2025-11-25 08:56:04.357633 | controller | - ' esac' 2025-11-25 08:56:04.357641 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.357649 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.357656 | controller | - ' exit 1' 2025-11-25 08:56:04.357664 | controller | - ' fi' 2025-11-25 08:56:04.357672 | controller | - ' fi' 2025-11-25 08:56:04.357680 | controller | - ' done' 2025-11-25 08:56:04.357687 | controller | - ' ]' 2025-11-25 08:56:04.357695 | controller | - ' logger.go:42: 08:47:23 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.357710 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.357719 | controller | - ' logger.go:42: 08:47:24 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.357727 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.357734 | controller | so we can''t rely on' 2025-11-25 08:56:04.357742 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.357750 | controller | and checks that' 2025-11-25 08:56:04.357758 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.357766 | controller | pattern' 2025-11-25 08:56:04.357774 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.357781 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.357789 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.357797 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.357805 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.357812 | controller | - ' exit 0' 2025-11-25 08:56:04.357820 | controller | - ' else' 2025-11-25 08:56:04.357832 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.357840 | controller | - ' exit 1' 2025-11-25 08:56:04.357848 | controller | - ' fi' 2025-11-25 08:56:04.357855 | controller | - ' ' 2025-11-25 08:56:04.357863 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.357871 | controller | them with a script' 2025-11-25 08:56:04.357879 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.357887 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.357895 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.357902 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.357910 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.357926 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.357934 | controller | - ' # it is an image' 2025-11-25 08:56:04.357941 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.357949 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.357957 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.357965 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.357972 | controller | - ' case $NAME in' 2025-11-25 08:56:04.357980 | controller | - ' API)' 2025-11-25 08:56:04.357988 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.357995 | controller | - ' ;;' 2025-11-25 08:56:04.358003 | controller | - ' esac' 2025-11-25 08:56:04.358011 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.358019 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.358027 | controller | - ' exit 1' 2025-11-25 08:56:04.358034 | controller | - ' fi' 2025-11-25 08:56:04.358041 | controller | - ' fi' 2025-11-25 08:56:04.358049 | controller | - ' done' 2025-11-25 08:56:04.358057 | controller | - ' ]' 2025-11-25 08:56:04.358063 | controller | - ' logger.go:42: 08:47:24 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.358069 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.358075 | controller | - ' logger.go:42: 08:47:25 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.358085 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.358091 | controller | so we can''t rely on' 2025-11-25 08:56:04.358100 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.358123 | controller | and checks that' 2025-11-25 08:56:04.358129 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.358134 | controller | pattern' 2025-11-25 08:56:04.358140 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.358146 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.358152 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.358158 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.358174 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.358181 | controller | - ' exit 0' 2025-11-25 08:56:04.358195 | controller | - ' else' 2025-11-25 08:56:04.358209 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.358215 | controller | - ' exit 1' 2025-11-25 08:56:04.358222 | controller | - ' fi' 2025-11-25 08:56:04.358236 | controller | - ' ' 2025-11-25 08:56:04.358249 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.358257 | controller | them with a script' 2025-11-25 08:56:04.358264 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.358272 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.358279 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.358287 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.358294 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.358305 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.358311 | controller | - ' # it is an image' 2025-11-25 08:56:04.358317 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.358324 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.358331 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.358337 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.358344 | controller | - ' case $NAME in' 2025-11-25 08:56:04.358351 | controller | - ' API)' 2025-11-25 08:56:04.358357 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.358363 | controller | - ' ;;' 2025-11-25 08:56:04.358373 | controller | - ' esac' 2025-11-25 08:56:04.358379 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.358385 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.358391 | controller | - ' exit 1' 2025-11-25 08:56:04.358397 | controller | - ' fi' 2025-11-25 08:56:04.358403 | controller | - ' fi' 2025-11-25 08:56:04.358409 | controller | - ' done' 2025-11-25 08:56:04.358414 | controller | - ' ]' 2025-11-25 08:56:04.358420 | controller | - ' logger.go:42: 08:47:25 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.358426 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.358432 | controller | - ' logger.go:42: 08:47:26 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.358438 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.358444 | controller | so we can''t rely on' 2025-11-25 08:56:04.358449 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.358461 | controller | and checks that' 2025-11-25 08:56:04.358467 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.358473 | controller | pattern' 2025-11-25 08:56:04.358479 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.358485 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.358490 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.358496 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.358502 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.358508 | controller | - ' exit 0' 2025-11-25 08:56:04.358514 | controller | - ' else' 2025-11-25 08:56:04.358520 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.358526 | controller | - ' exit 1' 2025-11-25 08:56:04.358531 | controller | - ' fi' 2025-11-25 08:56:04.358537 | controller | - ' ' 2025-11-25 08:56:04.358543 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.358549 | controller | them with a script' 2025-11-25 08:56:04.358555 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.358561 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.358567 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.358573 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.358579 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.358591 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.358599 | controller | - ' # it is an image' 2025-11-25 08:56:04.358605 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.358611 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.358617 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.358623 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.358629 | controller | - ' case $NAME in' 2025-11-25 08:56:04.358635 | controller | - ' API)' 2025-11-25 08:56:04.358647 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.358662 | controller | - ' ;;' 2025-11-25 08:56:04.358671 | controller | - ' esac' 2025-11-25 08:56:04.358679 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.358687 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.358694 | controller | - ' exit 1' 2025-11-25 08:56:04.358710 | controller | - ' fi' 2025-11-25 08:56:04.358717 | controller | - ' fi' 2025-11-25 08:56:04.358723 | controller | - ' done' 2025-11-25 08:56:04.358729 | controller | - ' ]' 2025-11-25 08:56:04.358735 | controller | - ' logger.go:42: 08:47:26 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.358741 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.358747 | controller | - ' logger.go:42: 08:47:27 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.358752 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.358758 | controller | so we can''t rely on' 2025-11-25 08:56:04.358764 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.358770 | controller | and checks that' 2025-11-25 08:56:04.358776 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.358786 | controller | pattern' 2025-11-25 08:56:04.358792 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.358798 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.358804 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.358810 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.358816 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.358822 | controller | - ' exit 0' 2025-11-25 08:56:04.358828 | controller | - ' else' 2025-11-25 08:56:04.358834 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.358840 | controller | - ' exit 1' 2025-11-25 08:56:04.358846 | controller | - ' fi' 2025-11-25 08:56:04.358851 | controller | - ' ' 2025-11-25 08:56:04.358857 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.358863 | controller | them with a script' 2025-11-25 08:56:04.358869 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.358875 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.358881 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.358887 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.358893 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.358905 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.358911 | controller | - ' # it is an image' 2025-11-25 08:56:04.358917 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.358923 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.358929 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.358934 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.358940 | controller | - ' case $NAME in' 2025-11-25 08:56:04.358946 | controller | - ' API)' 2025-11-25 08:56:04.358952 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.358958 | controller | - ' ;;' 2025-11-25 08:56:04.358964 | controller | - ' esac' 2025-11-25 08:56:04.358970 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.358976 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.358982 | controller | - ' exit 1' 2025-11-25 08:56:04.358988 | controller | - ' fi' 2025-11-25 08:56:04.358994 | controller | - ' fi' 2025-11-25 08:56:04.359000 | controller | - ' done' 2025-11-25 08:56:04.359006 | controller | - ' ]' 2025-11-25 08:56:04.359012 | controller | - ' logger.go:42: 08:47:27 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.359017 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.359023 | controller | - ' logger.go:42: 08:47:28 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.359029 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.359035 | controller | so we can''t rely on' 2025-11-25 08:56:04.359041 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.359047 | controller | and checks that' 2025-11-25 08:56:04.359053 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.359059 | controller | pattern' 2025-11-25 08:56:04.359065 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.359074 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.359080 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.359086 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.359099 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.359122 | controller | - ' exit 0' 2025-11-25 08:56:04.359129 | controller | - ' else' 2025-11-25 08:56:04.359135 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.359144 | controller | - ' exit 1' 2025-11-25 08:56:04.359150 | controller | - ' fi' 2025-11-25 08:56:04.359156 | controller | - ' ' 2025-11-25 08:56:04.359162 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.359170 | controller | them with a script' 2025-11-25 08:56:04.359178 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.359210 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.359238 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.359247 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.359255 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.359269 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.359276 | controller | - ' # it is an image' 2025-11-25 08:56:04.359283 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.359290 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.359298 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.359305 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.359313 | controller | - ' case $NAME in' 2025-11-25 08:56:04.359322 | controller | - ' API)' 2025-11-25 08:56:04.359330 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.359338 | controller | - ' ;;' 2025-11-25 08:56:04.359347 | controller | - ' esac' 2025-11-25 08:56:04.359355 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.359362 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.359370 | controller | - ' exit 1' 2025-11-25 08:56:04.359377 | controller | - ' fi' 2025-11-25 08:56:04.359385 | controller | - ' fi' 2025-11-25 08:56:04.359391 | controller | - ' done' 2025-11-25 08:56:04.359396 | controller | - ' ]' 2025-11-25 08:56:04.359402 | controller | - ' logger.go:42: 08:47:28 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.359408 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.359414 | controller | - ' logger.go:42: 08:47:29 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.359420 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.359426 | controller | so we can''t rely on' 2025-11-25 08:56:04.359436 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.359441 | controller | and checks that' 2025-11-25 08:56:04.359447 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.359453 | controller | pattern' 2025-11-25 08:56:04.359459 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.359465 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.359471 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.359480 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.359486 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.359492 | controller | - ' exit 0' 2025-11-25 08:56:04.359498 | controller | - ' else' 2025-11-25 08:56:04.359503 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.359509 | controller | - ' exit 1' 2025-11-25 08:56:04.359515 | controller | - ' fi' 2025-11-25 08:56:04.359521 | controller | - ' ' 2025-11-25 08:56:04.359527 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.359533 | controller | them with a script' 2025-11-25 08:56:04.359538 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.359544 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.359550 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.359556 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.359562 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.359580 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.359595 | controller | - ' # it is an image' 2025-11-25 08:56:04.359603 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.359611 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.359618 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.359624 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.359630 | controller | - ' case $NAME in' 2025-11-25 08:56:04.359636 | controller | - ' API)' 2025-11-25 08:56:04.359642 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.359648 | controller | - ' ;;' 2025-11-25 08:56:04.359653 | controller | - ' esac' 2025-11-25 08:56:04.359659 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.359665 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.359671 | controller | - ' exit 1' 2025-11-25 08:56:04.359677 | controller | - ' fi' 2025-11-25 08:56:04.359683 | controller | - ' fi' 2025-11-25 08:56:04.359688 | controller | - ' done' 2025-11-25 08:56:04.359694 | controller | - ' ]' 2025-11-25 08:56:04.359700 | controller | - ' logger.go:42: 08:47:30 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.359706 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.359712 | controller | - ' logger.go:42: 08:47:31 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.359718 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.359723 | controller | so we can''t rely on' 2025-11-25 08:56:04.359733 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.359750 | controller | and checks that' 2025-11-25 08:56:04.359757 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.359763 | controller | pattern' 2025-11-25 08:56:04.359768 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.359774 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.359780 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.359786 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.359792 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.359801 | controller | - ' exit 0' 2025-11-25 08:56:04.359807 | controller | - ' else' 2025-11-25 08:56:04.359813 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.359819 | controller | - ' exit 1' 2025-11-25 08:56:04.359825 | controller | - ' fi' 2025-11-25 08:56:04.359831 | controller | - ' ' 2025-11-25 08:56:04.359837 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.359842 | controller | them with a script' 2025-11-25 08:56:04.359848 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.359854 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.359860 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.359866 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.359872 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.359883 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.359889 | controller | - ' # it is an image' 2025-11-25 08:56:04.359898 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.359904 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.359910 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.359916 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.359922 | controller | - ' case $NAME in' 2025-11-25 08:56:04.359928 | controller | - ' API)' 2025-11-25 08:56:04.359933 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.359939 | controller | - ' ;;' 2025-11-25 08:56:04.359945 | controller | - ' esac' 2025-11-25 08:56:04.359956 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.359962 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.359968 | controller | - ' exit 1' 2025-11-25 08:56:04.359974 | controller | - ' fi' 2025-11-25 08:56:04.359980 | controller | - ' fi' 2025-11-25 08:56:04.359986 | controller | - ' done' 2025-11-25 08:56:04.359991 | controller | - ' ]' 2025-11-25 08:56:04.359997 | controller | - ' logger.go:42: 08:47:31 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.360003 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.360009 | controller | - ' logger.go:42: 08:47:32 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.360015 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.360021 | controller | so we can''t rely on' 2025-11-25 08:56:04.360027 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.360033 | controller | and checks that' 2025-11-25 08:56:04.360038 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.360044 | controller | pattern' 2025-11-25 08:56:04.360050 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.360056 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.360062 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.360068 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.360074 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.360079 | controller | - ' exit 0' 2025-11-25 08:56:04.360085 | controller | - ' else' 2025-11-25 08:56:04.360091 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.360118 | controller | - ' exit 1' 2025-11-25 08:56:04.360128 | controller | - ' fi' 2025-11-25 08:56:04.360134 | controller | - ' ' 2025-11-25 08:56:04.360140 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.360146 | controller | them with a script' 2025-11-25 08:56:04.360152 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.360158 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.360164 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.360172 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.360188 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.360206 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.360214 | controller | - ' # it is an image' 2025-11-25 08:56:04.360221 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.360229 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.360248 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.360257 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.360265 | controller | - ' case $NAME in' 2025-11-25 08:56:04.360272 | controller | - ' API)' 2025-11-25 08:56:04.360279 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.360288 | controller | - ' ;;' 2025-11-25 08:56:04.360296 | controller | - ' esac' 2025-11-25 08:56:04.360302 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.360308 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.360314 | controller | - ' exit 1' 2025-11-25 08:56:04.360320 | controller | - ' fi' 2025-11-25 08:56:04.360325 | controller | - ' fi' 2025-11-25 08:56:04.360331 | controller | - ' done' 2025-11-25 08:56:04.360337 | controller | - ' ]' 2025-11-25 08:56:04.360343 | controller | - ' logger.go:42: 08:47:32 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.360349 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.360355 | controller | - ' logger.go:42: 08:47:33 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.360360 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.360366 | controller | so we can''t rely on' 2025-11-25 08:56:04.360372 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.360378 | controller | and checks that' 2025-11-25 08:56:04.360389 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.360395 | controller | pattern' 2025-11-25 08:56:04.360401 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.360407 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.360413 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.360419 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.360424 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.360430 | controller | - ' exit 0' 2025-11-25 08:56:04.360436 | controller | - ' else' 2025-11-25 08:56:04.360442 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.360448 | controller | - ' exit 1' 2025-11-25 08:56:04.360454 | controller | - ' fi' 2025-11-25 08:56:04.360460 | controller | - ' ' 2025-11-25 08:56:04.360469 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.360475 | controller | them with a script' 2025-11-25 08:56:04.360481 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.360487 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.360493 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.360498 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.360504 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.360516 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.360522 | controller | - ' # it is an image' 2025-11-25 08:56:04.360528 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.360533 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.360539 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.360545 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.360551 | controller | - ' case $NAME in' 2025-11-25 08:56:04.360557 | controller | - ' API)' 2025-11-25 08:56:04.360563 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.360568 | controller | - ' ;;' 2025-11-25 08:56:04.360574 | controller | - ' esac' 2025-11-25 08:56:04.360580 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.360586 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.360592 | controller | - ' exit 1' 2025-11-25 08:56:04.360598 | controller | - ' fi' 2025-11-25 08:56:04.360603 | controller | - ' fi' 2025-11-25 08:56:04.360609 | controller | - ' done' 2025-11-25 08:56:04.360615 | controller | - ' ]' 2025-11-25 08:56:04.360621 | controller | - ' logger.go:42: 08:47:33 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.360627 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.360633 | controller | - ' logger.go:42: 08:47:34 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.360638 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.360644 | controller | so we can''t rely on' 2025-11-25 08:56:04.360650 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.360656 | controller | and checks that' 2025-11-25 08:56:04.360662 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.360668 | controller | pattern' 2025-11-25 08:56:04.360673 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.360679 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.360685 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.360691 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.360704 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.360711 | controller | - ' exit 0' 2025-11-25 08:56:04.360716 | controller | - ' else' 2025-11-25 08:56:04.360722 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.360728 | controller | - ' exit 1' 2025-11-25 08:56:04.360734 | controller | - ' fi' 2025-11-25 08:56:04.360740 | controller | - ' ' 2025-11-25 08:56:04.360746 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.360751 | controller | them with a script' 2025-11-25 08:56:04.360757 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.360766 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.360775 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.360781 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.360787 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.360799 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.360805 | controller | - ' # it is an image' 2025-11-25 08:56:04.360811 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.360816 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.360822 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.360828 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.360834 | controller | - ' case $NAME in' 2025-11-25 08:56:04.360840 | controller | - ' API)' 2025-11-25 08:56:04.360846 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.360851 | controller | - ' ;;' 2025-11-25 08:56:04.360860 | controller | - ' esac' 2025-11-25 08:56:04.360866 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.360872 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.360878 | controller | - ' exit 1' 2025-11-25 08:56:04.360884 | controller | - ' fi' 2025-11-25 08:56:04.360889 | controller | - ' fi' 2025-11-25 08:56:04.360895 | controller | - ' done' 2025-11-25 08:56:04.360901 | controller | - ' ]' 2025-11-25 08:56:04.360907 | controller | - ' logger.go:42: 08:47:34 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.360913 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.360919 | controller | - ' logger.go:42: 08:47:35 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.360924 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.360930 | controller | so we can''t rely on' 2025-11-25 08:56:04.360936 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.360942 | controller | and checks that' 2025-11-25 08:56:04.360948 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.360954 | controller | pattern' 2025-11-25 08:56:04.360960 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.360968 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.360974 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.360980 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.360986 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.360991 | controller | - ' exit 0' 2025-11-25 08:56:04.360997 | controller | - ' else' 2025-11-25 08:56:04.361003 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.361009 | controller | - ' exit 1' 2025-11-25 08:56:04.361015 | controller | - ' fi' 2025-11-25 08:56:04.361021 | controller | - ' ' 2025-11-25 08:56:04.361027 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.361032 | controller | them with a script' 2025-11-25 08:56:04.361038 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.361044 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.361050 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.361059 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.361064 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.361076 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.361082 | controller | - ' # it is an image' 2025-11-25 08:56:04.361088 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.361094 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.361116 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.361126 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.361132 | controller | - ' case $NAME in' 2025-11-25 08:56:04.361138 | controller | - ' API)' 2025-11-25 08:56:04.361144 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.361150 | controller | - ' ;;' 2025-11-25 08:56:04.361156 | controller | - ' esac' 2025-11-25 08:56:04.361162 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.361167 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.361173 | controller | - ' exit 1' 2025-11-25 08:56:04.361185 | controller | - ' fi' 2025-11-25 08:56:04.361192 | controller | - ' fi' 2025-11-25 08:56:04.361198 | controller | - ' done' 2025-11-25 08:56:04.361204 | controller | - ' ]' 2025-11-25 08:56:04.361210 | controller | - ' logger.go:42: 08:47:35 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.361216 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.361221 | controller | - ' logger.go:42: 08:47:36 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.361227 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.361233 | controller | so we can''t rely on' 2025-11-25 08:56:04.361315 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.361326 | controller | and checks that' 2025-11-25 08:56:04.361368 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.361376 | controller | pattern' 2025-11-25 08:56:04.361382 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.361388 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.361394 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.361400 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.361443 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.361449 | controller | - ' exit 0' 2025-11-25 08:56:04.361455 | controller | - ' else' 2025-11-25 08:56:04.361461 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.361467 | controller | - ' exit 1' 2025-11-25 08:56:04.361473 | controller | - ' fi' 2025-11-25 08:56:04.361479 | controller | - ' ' 2025-11-25 08:56:04.361484 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.361490 | controller | them with a script' 2025-11-25 08:56:04.361496 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.361502 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.361508 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.361514 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.361520 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.361535 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.361541 | controller | - ' # it is an image' 2025-11-25 08:56:04.361546 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.361552 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.361558 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.361564 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.361570 | controller | - ' case $NAME in' 2025-11-25 08:56:04.361576 | controller | - ' API)' 2025-11-25 08:56:04.361582 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.361587 | controller | - ' ;;' 2025-11-25 08:56:04.361593 | controller | - ' esac' 2025-11-25 08:56:04.361599 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.361605 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.361611 | controller | - ' exit 1' 2025-11-25 08:56:04.361617 | controller | - ' fi' 2025-11-25 08:56:04.361622 | controller | - ' fi' 2025-11-25 08:56:04.361628 | controller | - ' done' 2025-11-25 08:56:04.361634 | controller | - ' ]' 2025-11-25 08:56:04.361640 | controller | - ' logger.go:42: 08:47:37 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.361646 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.361652 | controller | - ' logger.go:42: 08:47:38 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.361658 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.361663 | controller | so we can''t rely on' 2025-11-25 08:56:04.361672 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.361678 | controller | and checks that' 2025-11-25 08:56:04.361684 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.361690 | controller | pattern' 2025-11-25 08:56:04.361696 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.361702 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.361708 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.361713 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.361719 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.361725 | controller | - ' exit 0' 2025-11-25 08:56:04.361731 | controller | - ' else' 2025-11-25 08:56:04.361737 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.361743 | controller | - ' exit 1' 2025-11-25 08:56:04.361749 | controller | - ' fi' 2025-11-25 08:56:04.361754 | controller | - ' ' 2025-11-25 08:56:04.361760 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.361766 | controller | them with a script' 2025-11-25 08:56:04.361772 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.361778 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.361792 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.361798 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.361804 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.361816 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.361824 | controller | - ' # it is an image' 2025-11-25 08:56:04.361830 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.361836 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.361842 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.361848 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.361854 | controller | - ' case $NAME in' 2025-11-25 08:56:04.361860 | controller | - ' API)' 2025-11-25 08:56:04.361865 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.361871 | controller | - ' ;;' 2025-11-25 08:56:04.361877 | controller | - ' esac' 2025-11-25 08:56:04.361883 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.361889 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.361895 | controller | - ' exit 1' 2025-11-25 08:56:04.361900 | controller | - ' fi' 2025-11-25 08:56:04.361906 | controller | - ' fi' 2025-11-25 08:56:04.361912 | controller | - ' done' 2025-11-25 08:56:04.361918 | controller | - ' ]' 2025-11-25 08:56:04.361924 | controller | - ' logger.go:42: 08:47:38 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.361929 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.361935 | controller | - ' logger.go:42: 08:47:39 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.361944 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.361950 | controller | so we can''t rely on' 2025-11-25 08:56:04.361956 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.361961 | controller | and checks that' 2025-11-25 08:56:04.361967 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.361973 | controller | pattern' 2025-11-25 08:56:04.361979 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.361985 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.361991 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.361997 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.362002 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.362008 | controller | - ' exit 0' 2025-11-25 08:56:04.362014 | controller | - ' else' 2025-11-25 08:56:04.362020 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.362026 | controller | - ' exit 1' 2025-11-25 08:56:04.362032 | controller | - ' fi' 2025-11-25 08:56:04.362037 | controller | - ' ' 2025-11-25 08:56:04.362043 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.362049 | controller | them with a script' 2025-11-25 08:56:04.362055 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.362061 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.362067 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.362073 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.362078 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.362090 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.362099 | controller | - ' # it is an image' 2025-11-25 08:56:04.362126 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.362136 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.362142 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.362151 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.362157 | controller | - ' case $NAME in' 2025-11-25 08:56:04.362162 | controller | - ' API)' 2025-11-25 08:56:04.362168 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.362174 | controller | - ' ;;' 2025-11-25 08:56:04.362180 | controller | - ' esac' 2025-11-25 08:56:04.362186 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.362192 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.362197 | controller | - ' exit 1' 2025-11-25 08:56:04.362203 | controller | - ' fi' 2025-11-25 08:56:04.362209 | controller | - ' fi' 2025-11-25 08:56:04.362215 | controller | - ' done' 2025-11-25 08:56:04.362221 | controller | - ' ]' 2025-11-25 08:56:04.362227 | controller | - ' logger.go:42: 08:47:39 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.362233 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.362238 | controller | - ' logger.go:42: 08:47:40 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.362244 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.362250 | controller | so we can''t rely on' 2025-11-25 08:56:04.362256 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.362269 | controller | and checks that' 2025-11-25 08:56:04.362275 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.362281 | controller | pattern' 2025-11-25 08:56:04.362287 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.362293 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.362299 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.362310 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.362316 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.362322 | controller | - ' exit 0' 2025-11-25 08:56:04.362328 | controller | - ' else' 2025-11-25 08:56:04.362334 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.362340 | controller | - ' exit 1' 2025-11-25 08:56:04.362345 | controller | - ' fi' 2025-11-25 08:56:04.362351 | controller | - ' ' 2025-11-25 08:56:04.362357 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.362363 | controller | them with a script' 2025-11-25 08:56:04.362369 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.362375 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.362380 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.362386 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.362392 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.362404 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.362410 | controller | - ' # it is an image' 2025-11-25 08:56:04.362415 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.362421 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.362427 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.362436 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.362442 | controller | - ' case $NAME in' 2025-11-25 08:56:04.362448 | controller | - ' API)' 2025-11-25 08:56:04.362454 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.362461 | controller | - ' ;;' 2025-11-25 08:56:04.362469 | controller | - ' esac' 2025-11-25 08:56:04.362477 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.362485 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.362493 | controller | - ' exit 1' 2025-11-25 08:56:04.362500 | controller | - ' fi' 2025-11-25 08:56:04.362507 | controller | - ' fi' 2025-11-25 08:56:04.362515 | controller | - ' done' 2025-11-25 08:56:04.362522 | controller | - ' ]' 2025-11-25 08:56:04.362529 | controller | - ' logger.go:42: 08:47:40 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.362537 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.362544 | controller | - ' logger.go:42: 08:47:41 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.362551 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.362559 | controller | so we can''t rely on' 2025-11-25 08:56:04.362567 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.362574 | controller | and checks that' 2025-11-25 08:56:04.362580 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.362586 | controller | pattern' 2025-11-25 08:56:04.362592 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.362598 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.362603 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.362609 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.362616 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.362623 | controller | - ' exit 0' 2025-11-25 08:56:04.362631 | controller | - ' else' 2025-11-25 08:56:04.362638 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.362646 | controller | - ' exit 1' 2025-11-25 08:56:04.362653 | controller | - ' fi' 2025-11-25 08:56:04.362661 | controller | - ' ' 2025-11-25 08:56:04.362668 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.362675 | controller | them with a script' 2025-11-25 08:56:04.362681 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.362687 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.362693 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.362699 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.362705 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.362717 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.362722 | controller | - ' # it is an image' 2025-11-25 08:56:04.362728 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.362738 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.362752 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.362759 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.362765 | controller | - ' case $NAME in' 2025-11-25 08:56:04.362771 | controller | - ' API)' 2025-11-25 08:56:04.362780 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.362786 | controller | - ' ;;' 2025-11-25 08:56:04.362791 | controller | - ' esac' 2025-11-25 08:56:04.362797 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.362803 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.362809 | controller | - ' exit 1' 2025-11-25 08:56:04.362815 | controller | - ' fi' 2025-11-25 08:56:04.362821 | controller | - ' fi' 2025-11-25 08:56:04.362827 | controller | - ' done' 2025-11-25 08:56:04.362832 | controller | - ' ]' 2025-11-25 08:56:04.362841 | controller | - ' logger.go:42: 08:47:41 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.362847 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.362853 | controller | - ' logger.go:42: 08:47:42 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.362858 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.362864 | controller | so we can''t rely on' 2025-11-25 08:56:04.362870 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.362876 | controller | and checks that' 2025-11-25 08:56:04.362882 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.362888 | controller | pattern' 2025-11-25 08:56:04.362893 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.362899 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.362905 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.362911 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.362917 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.362923 | controller | - ' exit 0' 2025-11-25 08:56:04.362928 | controller | - ' else' 2025-11-25 08:56:04.362935 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.362941 | controller | - ' exit 1' 2025-11-25 08:56:04.362947 | controller | - ' fi' 2025-11-25 08:56:04.362953 | controller | - ' ' 2025-11-25 08:56:04.362959 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.362964 | controller | them with a script' 2025-11-25 08:56:04.362972 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.362978 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.362984 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.362990 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.362996 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.363008 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.363014 | controller | - ' # it is an image' 2025-11-25 08:56:04.363022 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.363028 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.363034 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.363040 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.363046 | controller | - ' case $NAME in' 2025-11-25 08:56:04.363052 | controller | - ' API)' 2025-11-25 08:56:04.363058 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.363064 | controller | - ' ;;' 2025-11-25 08:56:04.363072 | controller | - ' esac' 2025-11-25 08:56:04.363078 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.363084 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.363090 | controller | - ' exit 1' 2025-11-25 08:56:04.363099 | controller | - ' fi' 2025-11-25 08:56:04.363126 | controller | - ' fi' 2025-11-25 08:56:04.363133 | controller | - ' done' 2025-11-25 08:56:04.363138 | controller | - ' ]' 2025-11-25 08:56:04.363144 | controller | - ' logger.go:42: 08:47:42 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.363150 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.363156 | controller | - ' logger.go:42: 08:47:43 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.363162 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.363168 | controller | so we can''t rely on' 2025-11-25 08:56:04.363174 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.363180 | controller | and checks that' 2025-11-25 08:56:04.363185 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.363191 | controller | pattern' 2025-11-25 08:56:04.363225 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.363232 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.363238 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.363245 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.363258 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.363265 | controller | - ' exit 0' 2025-11-25 08:56:04.363272 | controller | - ' else' 2025-11-25 08:56:04.363278 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.363285 | controller | - ' exit 1' 2025-11-25 08:56:04.363291 | controller | - ' fi' 2025-11-25 08:56:04.363298 | controller | - ' ' 2025-11-25 08:56:04.363304 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.363311 | controller | them with a script' 2025-11-25 08:56:04.363317 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.363324 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.363330 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.363337 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.363343 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.363356 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.363362 | controller | - ' # it is an image' 2025-11-25 08:56:04.363369 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.363375 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.363382 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.363388 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.363395 | controller | - ' case $NAME in' 2025-11-25 08:56:04.363401 | controller | - ' API)' 2025-11-25 08:56:04.363408 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.363414 | controller | - ' ;;' 2025-11-25 08:56:04.363421 | controller | - ' esac' 2025-11-25 08:56:04.363427 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.363433 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.363444 | controller | - ' exit 1' 2025-11-25 08:56:04.363450 | controller | - ' fi' 2025-11-25 08:56:04.363457 | controller | - ' fi' 2025-11-25 08:56:04.363462 | controller | - ' done' 2025-11-25 08:56:04.363468 | controller | - ' ]' 2025-11-25 08:56:04.363474 | controller | - ' logger.go:42: 08:47:44 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.363480 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.363486 | controller | - ' logger.go:42: 08:47:45 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.363492 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.363497 | controller | so we can''t rely on' 2025-11-25 08:56:04.363503 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.363509 | controller | and checks that' 2025-11-25 08:56:04.363515 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.363521 | controller | pattern' 2025-11-25 08:56:04.363527 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.363532 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.363538 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.363544 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.363550 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.363557 | controller | - ' exit 0' 2025-11-25 08:56:04.363568 | controller | - ' else' 2025-11-25 08:56:04.363583 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.363592 | controller | - ' exit 1' 2025-11-25 08:56:04.363599 | controller | - ' fi' 2025-11-25 08:56:04.363605 | controller | - ' ' 2025-11-25 08:56:04.363611 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.363617 | controller | them with a script' 2025-11-25 08:56:04.363623 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.363629 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.363635 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.363641 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.363647 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.363658 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.363664 | controller | - ' # it is an image' 2025-11-25 08:56:04.363670 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.363676 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.363682 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.363687 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.363693 | controller | - ' case $NAME in' 2025-11-25 08:56:04.363699 | controller | - ' API)' 2025-11-25 08:56:04.363705 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.363711 | controller | - ' ;;' 2025-11-25 08:56:04.363717 | controller | - ' esac' 2025-11-25 08:56:04.363722 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.363728 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.363734 | controller | - ' exit 1' 2025-11-25 08:56:04.363740 | controller | - ' fi' 2025-11-25 08:56:04.363755 | controller | - ' fi' 2025-11-25 08:56:04.363766 | controller | - ' done' 2025-11-25 08:56:04.363773 | controller | - ' ]' 2025-11-25 08:56:04.363779 | controller | - ' logger.go:42: 08:47:45 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.363785 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.363791 | controller | - ' logger.go:42: 08:47:46 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.363797 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.363802 | controller | so we can''t rely on' 2025-11-25 08:56:04.363808 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.363814 | controller | and checks that' 2025-11-25 08:56:04.363820 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.363826 | controller | pattern' 2025-11-25 08:56:04.363831 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.363837 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.363843 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.363849 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.363855 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.363861 | controller | - ' exit 0' 2025-11-25 08:56:04.363866 | controller | - ' else' 2025-11-25 08:56:04.363872 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.363878 | controller | - ' exit 1' 2025-11-25 08:56:04.363884 | controller | - ' fi' 2025-11-25 08:56:04.363889 | controller | - ' ' 2025-11-25 08:56:04.363895 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.363901 | controller | them with a script' 2025-11-25 08:56:04.363907 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.363913 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.363918 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.363924 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.363930 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.363942 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.363948 | controller | - ' # it is an image' 2025-11-25 08:56:04.363953 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.363959 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.363965 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.363971 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.363977 | controller | - ' case $NAME in' 2025-11-25 08:56:04.363983 | controller | - ' API)' 2025-11-25 08:56:04.363988 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.363994 | controller | - ' ;;' 2025-11-25 08:56:04.364000 | controller | - ' esac' 2025-11-25 08:56:04.364006 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.364012 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.364017 | controller | - ' exit 1' 2025-11-25 08:56:04.364023 | controller | - ' fi' 2025-11-25 08:56:04.364029 | controller | - ' fi' 2025-11-25 08:56:04.364036 | controller | - ' done' 2025-11-25 08:56:04.364050 | controller | - ' ]' 2025-11-25 08:56:04.364067 | controller | - ' logger.go:42: 08:47:46 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.364080 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.364093 | controller | - ' logger.go:42: 08:47:47 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.364116 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.364126 | controller | so we can''t rely on' 2025-11-25 08:56:04.364132 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.364138 | controller | and checks that' 2025-11-25 08:56:04.364143 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.364149 | controller | pattern' 2025-11-25 08:56:04.364155 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.364161 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.364167 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.364173 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.364178 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.364184 | controller | - ' exit 0' 2025-11-25 08:56:04.364190 | controller | - ' else' 2025-11-25 08:56:04.364196 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.364202 | controller | - ' exit 1' 2025-11-25 08:56:04.364208 | controller | - ' fi' 2025-11-25 08:56:04.364213 | controller | - ' ' 2025-11-25 08:56:04.364219 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.364225 | controller | them with a script' 2025-11-25 08:56:04.364231 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.364237 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.364251 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.364258 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.364264 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.364275 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.364281 | controller | - ' # it is an image' 2025-11-25 08:56:04.364287 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.364293 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.364298 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.364304 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.364310 | controller | - ' case $NAME in' 2025-11-25 08:56:04.364316 | controller | - ' API)' 2025-11-25 08:56:04.364322 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.364327 | controller | - ' ;;' 2025-11-25 08:56:04.364333 | controller | - ' esac' 2025-11-25 08:56:04.364339 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.364345 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.364351 | controller | - ' exit 1' 2025-11-25 08:56:04.364356 | controller | - ' fi' 2025-11-25 08:56:04.364362 | controller | - ' fi' 2025-11-25 08:56:04.364368 | controller | - ' done' 2025-11-25 08:56:04.364374 | controller | - ' ]' 2025-11-25 08:56:04.364380 | controller | - ' logger.go:42: 08:47:47 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.364385 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.364391 | controller | - ' logger.go:42: 08:47:48 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.364401 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.364407 | controller | so we can''t rely on' 2025-11-25 08:56:04.364413 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.364419 | controller | and checks that' 2025-11-25 08:56:04.364425 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.364430 | controller | pattern' 2025-11-25 08:56:04.364436 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.364442 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.364451 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.364457 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.364463 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.364474 | controller | - ' exit 0' 2025-11-25 08:56:04.364480 | controller | - ' else' 2025-11-25 08:56:04.364486 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.364491 | controller | - ' exit 1' 2025-11-25 08:56:04.364497 | controller | - ' fi' 2025-11-25 08:56:04.364503 | controller | - ' ' 2025-11-25 08:56:04.364509 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.364515 | controller | them with a script' 2025-11-25 08:56:04.364520 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.364526 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.364532 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.364538 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.364544 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.364555 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.364561 | controller | - ' # it is an image' 2025-11-25 08:56:04.364728 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.364734 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.364740 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.364746 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.364752 | controller | - ' case $NAME in' 2025-11-25 08:56:04.364759 | controller | - ' API)' 2025-11-25 08:56:04.364772 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.364786 | controller | - ' ;;' 2025-11-25 08:56:04.364794 | controller | - ' esac' 2025-11-25 08:56:04.364802 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.364808 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.364814 | controller | - ' exit 1' 2025-11-25 08:56:04.364824 | controller | - ' fi' 2025-11-25 08:56:04.364830 | controller | - ' fi' 2025-11-25 08:56:04.364835 | controller | - ' done' 2025-11-25 08:56:04.364841 | controller | - ' ]' 2025-11-25 08:56:04.364847 | controller | - ' logger.go:42: 08:47:48 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.364853 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.364859 | controller | - ' logger.go:42: 08:47:49 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.364865 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.364870 | controller | so we can''t rely on' 2025-11-25 08:56:04.364880 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.364886 | controller | and checks that' 2025-11-25 08:56:04.364901 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.364908 | controller | pattern' 2025-11-25 08:56:04.364914 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.364920 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.364926 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.364931 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.364937 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.364943 | controller | - ' exit 0' 2025-11-25 08:56:04.364949 | controller | - ' else' 2025-11-25 08:56:04.364955 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.364961 | controller | - ' exit 1' 2025-11-25 08:56:04.364966 | controller | - ' fi' 2025-11-25 08:56:04.364972 | controller | - ' ' 2025-11-25 08:56:04.364978 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.364984 | controller | them with a script' 2025-11-25 08:56:04.364990 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.364996 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.365001 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.365007 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.365013 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.365025 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.365030 | controller | - ' # it is an image' 2025-11-25 08:56:04.365036 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.365042 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.365048 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.365054 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.365059 | controller | - ' case $NAME in' 2025-11-25 08:56:04.365065 | controller | - ' API)' 2025-11-25 08:56:04.365071 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.365077 | controller | - ' ;;' 2025-11-25 08:56:04.365083 | controller | - ' esac' 2025-11-25 08:56:04.365089 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.365094 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.365120 | controller | - ' exit 1' 2025-11-25 08:56:04.365126 | controller | - ' fi' 2025-11-25 08:56:04.365132 | controller | - ' fi' 2025-11-25 08:56:04.365138 | controller | - ' done' 2025-11-25 08:56:04.365144 | controller | - ' ]' 2025-11-25 08:56:04.365150 | controller | - ' logger.go:42: 08:47:50 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.365156 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.365164 | controller | - ' logger.go:42: 08:47:51 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.365170 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.365176 | controller | so we can''t rely on' 2025-11-25 08:56:04.365182 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.365188 | controller | and checks that' 2025-11-25 08:56:04.365194 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.365203 | controller | pattern' 2025-11-25 08:56:04.365209 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.365215 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.365220 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.365226 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.365232 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.365238 | controller | - ' exit 0' 2025-11-25 08:56:04.365244 | controller | - ' else' 2025-11-25 08:56:04.365250 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.365255 | controller | - ' exit 1' 2025-11-25 08:56:04.365261 | controller | - ' fi' 2025-11-25 08:56:04.365267 | controller | - ' ' 2025-11-25 08:56:04.365276 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.365282 | controller | them with a script' 2025-11-25 08:56:04.365288 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.365293 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.365299 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.365305 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.365311 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.365322 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.365328 | controller | - ' # it is an image' 2025-11-25 08:56:04.365334 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.365340 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.365353 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.365359 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.365365 | controller | - ' case $NAME in' 2025-11-25 08:56:04.365370 | controller | - ' API)' 2025-11-25 08:56:04.365376 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.365382 | controller | - ' ;;' 2025-11-25 08:56:04.365388 | controller | - ' esac' 2025-11-25 08:56:04.365394 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.365400 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.365406 | controller | - ' exit 1' 2025-11-25 08:56:04.365411 | controller | - ' fi' 2025-11-25 08:56:04.365417 | controller | - ' fi' 2025-11-25 08:56:04.365427 | controller | - ' done' 2025-11-25 08:56:04.365432 | controller | - ' ]' 2025-11-25 08:56:04.365438 | controller | - ' logger.go:42: 08:47:51 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.365444 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.365450 | controller | - ' logger.go:42: 08:47:52 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.365456 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.365462 | controller | so we can''t rely on' 2025-11-25 08:56:04.365467 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.365473 | controller | and checks that' 2025-11-25 08:56:04.365479 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.365485 | controller | pattern' 2025-11-25 08:56:04.365491 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.365499 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.365505 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.365511 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.365517 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.365523 | controller | - ' exit 0' 2025-11-25 08:56:04.365529 | controller | - ' else' 2025-11-25 08:56:04.365534 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.365540 | controller | - ' exit 1' 2025-11-25 08:56:04.365546 | controller | - ' fi' 2025-11-25 08:56:04.365552 | controller | - ' ' 2025-11-25 08:56:04.365558 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.365563 | controller | them with a script' 2025-11-25 08:56:04.365569 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.365575 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.365581 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.365587 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.365593 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.365604 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.365610 | controller | - ' # it is an image' 2025-11-25 08:56:04.365616 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.365622 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.365628 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.365634 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.365639 | controller | - ' case $NAME in' 2025-11-25 08:56:04.365645 | controller | - ' API)' 2025-11-25 08:56:04.365651 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.365657 | controller | - ' ;;' 2025-11-25 08:56:04.365663 | controller | - ' esac' 2025-11-25 08:56:04.365668 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.365674 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.365680 | controller | - ' exit 1' 2025-11-25 08:56:04.365686 | controller | - ' fi' 2025-11-25 08:56:04.365692 | controller | - ' fi' 2025-11-25 08:56:04.365698 | controller | - ' done' 2025-11-25 08:56:04.365703 | controller | - ' ]' 2025-11-25 08:56:04.365709 | controller | - ' logger.go:42: 08:47:52 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 08:56:04.365715 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.365721 | controller | - ' logger.go:42: 08:47:53 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.365727 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.365733 | controller | so we can''t rely on' 2025-11-25 08:56:04.365739 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.365744 | controller | and checks that' 2025-11-25 08:56:04.365750 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.365756 | controller | pattern' 2025-11-25 08:56:04.365762 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.365768 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.365776 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.365782 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.365794 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.365800 | controller | - ' exit 0' 2025-11-25 08:56:04.365806 | controller | - ' else' 2025-11-25 08:56:04.365812 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.365818 | controller | - ' exit 1' 2025-11-25 08:56:04.365826 | controller | - ' fi' 2025-11-25 08:56:04.365839 | controller | - ' ' 2025-11-25 08:56:04.365853 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.365861 | controller | them with a script' 2025-11-25 08:56:04.365868 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.365875 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.365883 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.365890 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.365897 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.365909 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.365915 | controller | - ' # it is an image' 2025-11-25 08:56:04.365921 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.365926 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.365932 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.365938 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.365944 | controller | - ' case $NAME in' 2025-11-25 08:56:04.365950 | controller | - ' API)' 2025-11-25 08:56:04.365956 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.365961 | controller | - ' ;;' 2025-11-25 08:56:04.365967 | controller | - ' esac' 2025-11-25 08:56:04.365973 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.365979 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.365985 | controller | - ' exit 1' 2025-11-25 08:56:04.365991 | controller | - ' fi' 2025-11-25 08:56:04.365996 | controller | - ' fi' 2025-11-25 08:56:04.366002 | controller | - ' done' 2025-11-25 08:56:04.366008 | controller | - ' ]' 2025-11-25 08:56:04.366014 | controller | - ' logger.go:42: 08:47:54 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.366020 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.366026 | controller | so we can''t rely on' 2025-11-25 08:56:04.366031 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.366037 | controller | and checks that' 2025-11-25 08:56:04.366043 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.366049 | controller | pattern' 2025-11-25 08:56:04.366055 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.366061 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.366067 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.366072 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.366078 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.366084 | controller | - ' exit 0' 2025-11-25 08:56:04.366090 | controller | - ' else' 2025-11-25 08:56:04.366125 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.366135 | controller | - ' exit 1' 2025-11-25 08:56:04.366141 | controller | - ' fi' 2025-11-25 08:56:04.366147 | controller | - ' ' 2025-11-25 08:56:04.366153 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.366159 | controller | them with a script' 2025-11-25 08:56:04.366165 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.366171 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.366176 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.366182 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.366188 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.366200 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.366206 | controller | - ' # it is an image' 2025-11-25 08:56:04.366216 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.366222 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.366228 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.366234 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.366240 | controller | - ' case $NAME in' 2025-11-25 08:56:04.366246 | controller | - ' API)' 2025-11-25 08:56:04.366252 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.366258 | controller | - ' ;;' 2025-11-25 08:56:04.366264 | controller | - ' esac' 2025-11-25 08:56:04.366270 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.366276 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.366282 | controller | - ' exit 1' 2025-11-25 08:56:04.366287 | controller | - ' fi' 2025-11-25 08:56:04.366293 | controller | - ' fi' 2025-11-25 08:56:04.366299 | controller | - ' done' 2025-11-25 08:56:04.366305 | controller | - ' ]' 2025-11-25 08:56:04.366311 | controller | - ' logger.go:42: 08:47:55 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.366331 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.366338 | controller | so we can''t rely on' 2025-11-25 08:56:04.366345 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.366352 | controller | and checks that' 2025-11-25 08:56:04.366358 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.366364 | controller | pattern' 2025-11-25 08:56:04.366372 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.366378 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.366384 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.366390 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.366396 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.366402 | controller | - ' exit 0' 2025-11-25 08:56:04.366408 | controller | - ' else' 2025-11-25 08:56:04.366413 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.366419 | controller | - ' exit 1' 2025-11-25 08:56:04.366425 | controller | - ' fi' 2025-11-25 08:56:04.366431 | controller | - ' ' 2025-11-25 08:56:04.366453 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.366459 | controller | them with a script' 2025-11-25 08:56:04.366468 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.366474 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.366480 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.366494 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.366500 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.366511 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.366517 | controller | - ' # it is an image' 2025-11-25 08:56:04.366523 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.366529 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.366534 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.366540 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.366549 | controller | - ' case $NAME in' 2025-11-25 08:56:04.366555 | controller | - ' API)' 2025-11-25 08:56:04.366561 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.366567 | controller | - ' ;;' 2025-11-25 08:56:04.366573 | controller | - ' esac' 2025-11-25 08:56:04.366579 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.366585 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.366590 | controller | - ' exit 1' 2025-11-25 08:56:04.366596 | controller | - ' fi' 2025-11-25 08:56:04.366605 | controller | - ' fi' 2025-11-25 08:56:04.366611 | controller | - ' done' 2025-11-25 08:56:04.366616 | controller | - ' ]' 2025-11-25 08:56:04.366622 | controller | - ' logger.go:42: 08:47:56 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.366628 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.366634 | controller | so we can''t rely on' 2025-11-25 08:56:04.366640 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.366646 | controller | and checks that' 2025-11-25 08:56:04.366651 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.366657 | controller | pattern' 2025-11-25 08:56:04.366663 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.366669 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.366675 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.366681 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.366686 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.366692 | controller | - ' exit 0' 2025-11-25 08:56:04.366698 | controller | - ' else' 2025-11-25 08:56:04.366704 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.366710 | controller | - ' exit 1' 2025-11-25 08:56:04.366716 | controller | - ' fi' 2025-11-25 08:56:04.366721 | controller | - ' ' 2025-11-25 08:56:04.366727 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.366733 | controller | them with a script' 2025-11-25 08:56:04.366739 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.366745 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.366751 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.366757 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.366771 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.366783 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.366789 | controller | - ' # it is an image' 2025-11-25 08:56:04.366794 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.366807 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.366814 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.366819 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.366825 | controller | - ' case $NAME in' 2025-11-25 08:56:04.366831 | controller | - ' API)' 2025-11-25 08:56:04.366837 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.366843 | controller | - ' ;;' 2025-11-25 08:56:04.366849 | controller | - ' esac' 2025-11-25 08:56:04.366855 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.366860 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.366866 | controller | - ' exit 1' 2025-11-25 08:56:04.366872 | controller | - ' fi' 2025-11-25 08:56:04.366878 | controller | - ' fi' 2025-11-25 08:56:04.366884 | controller | - ' done' 2025-11-25 08:56:04.366889 | controller | - ' ]' 2025-11-25 08:56:04.366895 | controller | - ' logger.go:42: 08:47:58 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.366901 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.366907 | controller | so we can''t rely on' 2025-11-25 08:56:04.366913 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.366919 | controller | and checks that' 2025-11-25 08:56:04.366926 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.366934 | controller | pattern' 2025-11-25 08:56:04.366942 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.366950 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.367076 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.367084 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.367090 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.367099 | controller | - ' exit 0' 2025-11-25 08:56:04.367122 | controller | - ' else' 2025-11-25 08:56:04.367128 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.367134 | controller | - ' exit 1' 2025-11-25 08:56:04.367140 | controller | - ' fi' 2025-11-25 08:56:04.367146 | controller | - ' ' 2025-11-25 08:56:04.367152 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.367157 | controller | them with a script' 2025-11-25 08:56:04.367163 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.367169 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.367175 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.367181 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.367187 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.367198 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.367204 | controller | - ' # it is an image' 2025-11-25 08:56:04.367227 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.367238 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.367244 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.367250 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.367255 | controller | - ' case $NAME in' 2025-11-25 08:56:04.367261 | controller | - ' API)' 2025-11-25 08:56:04.367267 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.367273 | controller | - ' ;;' 2025-11-25 08:56:04.367279 | controller | - ' esac' 2025-11-25 08:56:04.367285 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.367290 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.367296 | controller | - ' exit 1' 2025-11-25 08:56:04.367302 | controller | - ' fi' 2025-11-25 08:56:04.367308 | controller | - ' fi' 2025-11-25 08:56:04.367314 | controller | - ' done' 2025-11-25 08:56:04.367319 | controller | - ' ]' 2025-11-25 08:56:04.367325 | controller | - ' logger.go:42: 08:47:59 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.367331 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.367337 | controller | so we can''t rely on' 2025-11-25 08:56:04.367343 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.367349 | controller | and checks that' 2025-11-25 08:56:04.367355 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.367360 | controller | pattern' 2025-11-25 08:56:04.367366 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.367372 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.367378 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.367384 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.367390 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.367395 | controller | - ' exit 0' 2025-11-25 08:56:04.367401 | controller | - ' else' 2025-11-25 08:56:04.367407 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.367413 | controller | - ' exit 1' 2025-11-25 08:56:04.367419 | controller | - ' fi' 2025-11-25 08:56:04.367425 | controller | - ' ' 2025-11-25 08:56:04.367439 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.367445 | controller | them with a script' 2025-11-25 08:56:04.367451 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.367457 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.367463 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.367469 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.367474 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.367486 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.367492 | controller | - ' # it is an image' 2025-11-25 08:56:04.367498 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.367503 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.367509 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.367515 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.367526 | controller | - ' case $NAME in' 2025-11-25 08:56:04.367535 | controller | - ' API)' 2025-11-25 08:56:04.367541 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.367547 | controller | - ' ;;' 2025-11-25 08:56:04.367552 | controller | - ' esac' 2025-11-25 08:56:04.367558 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.367564 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.367570 | controller | - ' exit 1' 2025-11-25 08:56:04.367576 | controller | - ' fi' 2025-11-25 08:56:04.367581 | controller | - ' fi' 2025-11-25 08:56:04.367587 | controller | - ' done' 2025-11-25 08:56:04.367593 | controller | - ' ]' 2025-11-25 08:56:04.367599 | controller | - ' logger.go:42: 08:48:00 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.367605 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.367610 | controller | so we can''t rely on' 2025-11-25 08:56:04.367616 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.367622 | controller | and checks that' 2025-11-25 08:56:04.367628 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.367634 | controller | pattern' 2025-11-25 08:56:04.367639 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.367645 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.367651 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.367657 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.367663 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.367668 | controller | - ' exit 0' 2025-11-25 08:56:04.367674 | controller | - ' else' 2025-11-25 08:56:04.367680 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.367686 | controller | - ' exit 1' 2025-11-25 08:56:04.367692 | controller | - ' fi' 2025-11-25 08:56:04.367697 | controller | - ' ' 2025-11-25 08:56:04.367703 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.367709 | controller | them with a script' 2025-11-25 08:56:04.367715 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.367721 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.367727 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.367732 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.367738 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.367750 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.367756 | controller | - ' # it is an image' 2025-11-25 08:56:04.367761 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.367767 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.367773 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.367781 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.367788 | controller | - ' case $NAME in' 2025-11-25 08:56:04.367794 | controller | - ' API)' 2025-11-25 08:56:04.367800 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.367805 | controller | - ' ;;' 2025-11-25 08:56:04.367811 | controller | - ' esac' 2025-11-25 08:56:04.367817 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.367826 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.367832 | controller | - ' exit 1' 2025-11-25 08:56:04.367840 | controller | - ' fi' 2025-11-25 08:56:04.367846 | controller | - ' fi' 2025-11-25 08:56:04.367851 | controller | - ' done' 2025-11-25 08:56:04.367857 | controller | - ' ]' 2025-11-25 08:56:04.367863 | controller | - ' logger.go:42: 08:48:01 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.367875 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.367880 | controller | so we can''t rely on' 2025-11-25 08:56:04.367886 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.367898 | controller | and checks that' 2025-11-25 08:56:04.367904 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.367910 | controller | pattern' 2025-11-25 08:56:04.367916 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.367922 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.367927 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.367933 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.367942 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.367948 | controller | - ' exit 0' 2025-11-25 08:56:04.367954 | controller | - ' else' 2025-11-25 08:56:04.367959 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.367965 | controller | - ' exit 1' 2025-11-25 08:56:04.367973 | controller | - ' fi' 2025-11-25 08:56:04.367979 | controller | - ' ' 2025-11-25 08:56:04.367985 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.367991 | controller | them with a script' 2025-11-25 08:56:04.367997 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.368003 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.368008 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.368014 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.368020 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.368032 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.368038 | controller | - ' # it is an image' 2025-11-25 08:56:04.368043 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.368049 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.368055 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.368061 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.368067 | controller | - ' case $NAME in' 2025-11-25 08:56:04.368072 | controller | - ' API)' 2025-11-25 08:56:04.368078 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.368084 | controller | - ' ;;' 2025-11-25 08:56:04.368090 | controller | - ' esac' 2025-11-25 08:56:04.368096 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.368116 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.368122 | controller | - ' exit 1' 2025-11-25 08:56:04.368128 | controller | - ' fi' 2025-11-25 08:56:04.368133 | controller | - ' fi' 2025-11-25 08:56:04.368139 | controller | - ' done' 2025-11-25 08:56:04.368145 | controller | - ' ]' 2025-11-25 08:56:04.368151 | controller | - ' logger.go:42: 08:48:02 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.368160 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.368166 | controller | so we can''t rely on' 2025-11-25 08:56:04.368171 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.368177 | controller | and checks that' 2025-11-25 08:56:04.368183 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.368189 | controller | pattern' 2025-11-25 08:56:04.368195 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.368201 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.368206 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.368212 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.368218 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.368224 | controller | - ' exit 0' 2025-11-25 08:56:04.368230 | controller | - ' else' 2025-11-25 08:56:04.368236 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.368242 | controller | - ' exit 1' 2025-11-25 08:56:04.368247 | controller | - ' fi' 2025-11-25 08:56:04.368253 | controller | - ' ' 2025-11-25 08:56:04.368259 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.368265 | controller | them with a script' 2025-11-25 08:56:04.368271 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.368277 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.368283 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.368288 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.368294 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.368306 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.368312 | controller | - ' # it is an image' 2025-11-25 08:56:04.368318 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.368324 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.368330 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.368336 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.368341 | controller | - ' case $NAME in' 2025-11-25 08:56:04.368354 | controller | - ' API)' 2025-11-25 08:56:04.368360 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.368366 | controller | - ' ;;' 2025-11-25 08:56:04.368372 | controller | - ' esac' 2025-11-25 08:56:04.368377 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.368383 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.368389 | controller | - ' exit 1' 2025-11-25 08:56:04.368395 | controller | - ' fi' 2025-11-25 08:56:04.368401 | controller | - ' fi' 2025-11-25 08:56:04.368407 | controller | - ' done' 2025-11-25 08:56:04.368412 | controller | - ' ]' 2025-11-25 08:56:04.368418 | controller | - ' logger.go:42: 08:48:04 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.368424 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.368430 | controller | so we can''t rely on' 2025-11-25 08:56:04.368436 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.368441 | controller | and checks that' 2025-11-25 08:56:04.368450 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.368456 | controller | pattern' 2025-11-25 08:56:04.368462 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.368468 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.368474 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.368479 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.368485 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.368491 | controller | - ' exit 0' 2025-11-25 08:56:04.368497 | controller | - ' else' 2025-11-25 08:56:04.368503 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.368509 | controller | - ' exit 1' 2025-11-25 08:56:04.368514 | controller | - ' fi' 2025-11-25 08:56:04.368520 | controller | - ' ' 2025-11-25 08:56:04.368526 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.368532 | controller | them with a script' 2025-11-25 08:56:04.368538 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.368544 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.368690 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.368695 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.368701 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.368713 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.368729 | controller | - ' # it is an image' 2025-11-25 08:56:04.368744 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.368752 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.368760 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.368768 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.368775 | controller | - ' case $NAME in' 2025-11-25 08:56:04.368782 | controller | - ' API)' 2025-11-25 08:56:04.368789 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.368796 | controller | - ' ;;' 2025-11-25 08:56:04.368803 | controller | - ' esac' 2025-11-25 08:56:04.368809 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.368815 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.368820 | controller | - ' exit 1' 2025-11-25 08:56:04.368826 | controller | - ' fi' 2025-11-25 08:56:04.368832 | controller | - ' fi' 2025-11-25 08:56:04.368838 | controller | - ' done' 2025-11-25 08:56:04.368859 | controller | - ' ]' 2025-11-25 08:56:04.368866 | controller | - ' logger.go:42: 08:48:05 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.368874 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.368893 | controller | so we can''t rely on' 2025-11-25 08:56:04.368901 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.368910 | controller | and checks that' 2025-11-25 08:56:04.368918 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.368926 | controller | pattern' 2025-11-25 08:56:04.368932 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.368938 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.368948 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.368954 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.368960 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.368965 | controller | - ' exit 0' 2025-11-25 08:56:04.368972 | controller | - ' else' 2025-11-25 08:56:04.368978 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.368984 | controller | - ' exit 1' 2025-11-25 08:56:04.368989 | controller | - ' fi' 2025-11-25 08:56:04.368995 | controller | - ' ' 2025-11-25 08:56:04.369001 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.369007 | controller | them with a script' 2025-11-25 08:56:04.369013 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.369028 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.369035 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.369041 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.369047 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.369059 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.369064 | controller | - ' # it is an image' 2025-11-25 08:56:04.369070 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.369076 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.369085 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.369091 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.369113 | controller | - ' case $NAME in' 2025-11-25 08:56:04.369124 | controller | - ' API)' 2025-11-25 08:56:04.369129 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.369135 | controller | - ' ;;' 2025-11-25 08:56:04.369141 | controller | - ' esac' 2025-11-25 08:56:04.369166 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.369172 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.369178 | controller | - ' exit 1' 2025-11-25 08:56:04.369184 | controller | - ' fi' 2025-11-25 08:56:04.369190 | controller | - ' fi' 2025-11-25 08:56:04.369196 | controller | - ' done' 2025-11-25 08:56:04.369201 | controller | - ' ]' 2025-11-25 08:56:04.369207 | controller | - ' logger.go:42: 08:48:06 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.369213 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.369219 | controller | so we can''t rely on' 2025-11-25 08:56:04.369225 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.369230 | controller | and checks that' 2025-11-25 08:56:04.369236 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.369242 | controller | pattern' 2025-11-25 08:56:04.369248 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.369254 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.369259 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.369265 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.369271 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.369277 | controller | - ' exit 0' 2025-11-25 08:56:04.369289 | controller | - ' else' 2025-11-25 08:56:04.369295 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.369301 | controller | - ' exit 1' 2025-11-25 08:56:04.369307 | controller | - ' fi' 2025-11-25 08:56:04.369313 | controller | - ' ' 2025-11-25 08:56:04.369319 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.369324 | controller | them with a script' 2025-11-25 08:56:04.369330 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.369336 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.369342 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.369348 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.369354 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.369366 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.369374 | controller | - ' # it is an image' 2025-11-25 08:56:04.369386 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.369394 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.369401 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.369409 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.369417 | controller | - ' case $NAME in' 2025-11-25 08:56:04.369423 | controller | - ' API)' 2025-11-25 08:56:04.369429 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.369435 | controller | - ' ;;' 2025-11-25 08:56:04.369440 | controller | - ' esac' 2025-11-25 08:56:04.369446 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.369452 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.369458 | controller | - ' exit 1' 2025-11-25 08:56:04.369464 | controller | - ' fi' 2025-11-25 08:56:04.369470 | controller | - ' fi' 2025-11-25 08:56:04.369475 | controller | - ' done' 2025-11-25 08:56:04.369481 | controller | - ' ]' 2025-11-25 08:56:04.369487 | controller | - ' logger.go:42: 08:48:07 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.369493 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.369499 | controller | so we can''t rely on' 2025-11-25 08:56:04.369505 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.369511 | controller | and checks that' 2025-11-25 08:56:04.369517 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.369522 | controller | pattern' 2025-11-25 08:56:04.369573 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.369582 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.369588 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.369594 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.369600 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.369605 | controller | - ' exit 0' 2025-11-25 08:56:04.369611 | controller | - ' else' 2025-11-25 08:56:04.369617 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.369623 | controller | - ' exit 1' 2025-11-25 08:56:04.369629 | controller | - ' fi' 2025-11-25 08:56:04.369635 | controller | - ' ' 2025-11-25 08:56:04.369641 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.369650 | controller | them with a script' 2025-11-25 08:56:04.369656 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.369662 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.369667 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.369673 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.369679 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.369691 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.369697 | controller | - ' # it is an image' 2025-11-25 08:56:04.369702 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.369708 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.369714 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.369720 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.369726 | controller | - ' case $NAME in' 2025-11-25 08:56:04.369731 | controller | - ' API)' 2025-11-25 08:56:04.369737 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.369743 | controller | - ' ;;' 2025-11-25 08:56:04.369749 | controller | - ' esac' 2025-11-25 08:56:04.369755 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.369761 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.369766 | controller | - ' exit 1' 2025-11-25 08:56:04.369772 | controller | - ' fi' 2025-11-25 08:56:04.369778 | controller | - ' fi' 2025-11-25 08:56:04.369784 | controller | - ' done' 2025-11-25 08:56:04.369790 | controller | - ' ]' 2025-11-25 08:56:04.369796 | controller | - ' logger.go:42: 08:48:08 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.369801 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.369807 | controller | so we can''t rely on' 2025-11-25 08:56:04.369813 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.369819 | controller | and checks that' 2025-11-25 08:56:04.369825 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.369830 | controller | pattern' 2025-11-25 08:56:04.369836 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.369846 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.369851 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.369857 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.369863 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.369869 | controller | - ' exit 0' 2025-11-25 08:56:04.369875 | controller | - ' else' 2025-11-25 08:56:04.369881 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.369886 | controller | - ' exit 1' 2025-11-25 08:56:04.369892 | controller | - ' fi' 2025-11-25 08:56:04.369898 | controller | - ' ' 2025-11-25 08:56:04.369904 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.369910 | controller | them with a script' 2025-11-25 08:56:04.369918 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.369926 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.369937 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.369949 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.369957 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.369970 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.369976 | controller | - ' # it is an image' 2025-11-25 08:56:04.369981 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.369987 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.369993 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.369999 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.370005 | controller | - ' case $NAME in' 2025-11-25 08:56:04.370011 | controller | - ' API)' 2025-11-25 08:56:04.370016 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.370022 | controller | - ' ;;' 2025-11-25 08:56:04.370028 | controller | - ' esac' 2025-11-25 08:56:04.370041 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.370048 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.370053 | controller | - ' exit 1' 2025-11-25 08:56:04.370059 | controller | - ' fi' 2025-11-25 08:56:04.370065 | controller | - ' fi' 2025-11-25 08:56:04.370071 | controller | - ' done' 2025-11-25 08:56:04.370077 | controller | - ' ]' 2025-11-25 08:56:04.370083 | controller | - ' logger.go:42: 08:48:10 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.370088 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.370094 | controller | so we can''t rely on' 2025-11-25 08:56:04.370115 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.370125 | controller | and checks that' 2025-11-25 08:56:04.370131 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.370136 | controller | pattern' 2025-11-25 08:56:04.370142 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.370148 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.370154 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.370160 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.370166 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.370171 | controller | - ' exit 0' 2025-11-25 08:56:04.370177 | controller | - ' else' 2025-11-25 08:56:04.370183 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.370189 | controller | - ' exit 1' 2025-11-25 08:56:04.370195 | controller | - ' fi' 2025-11-25 08:56:04.370201 | controller | - ' ' 2025-11-25 08:56:04.370206 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.370212 | controller | them with a script' 2025-11-25 08:56:04.370218 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.370224 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.370230 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.370236 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.370241 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.370253 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.370259 | controller | - ' # it is an image' 2025-11-25 08:56:04.370269 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.370275 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.370281 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.370286 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.370292 | controller | - ' case $NAME in' 2025-11-25 08:56:04.370298 | controller | - ' API)' 2025-11-25 08:56:04.370304 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.370310 | controller | - ' ;;' 2025-11-25 08:56:04.370319 | controller | - ' esac' 2025-11-25 08:56:04.370325 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.370331 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.370337 | controller | - ' exit 1' 2025-11-25 08:56:04.370342 | controller | - ' fi' 2025-11-25 08:56:04.370348 | controller | - ' fi' 2025-11-25 08:56:04.370354 | controller | - ' done' 2025-11-25 08:56:04.370360 | controller | - ' ]' 2025-11-25 08:56:04.370366 | controller | - ' logger.go:42: 08:48:11 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.370371 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.370377 | controller | so we can''t rely on' 2025-11-25 08:56:04.370383 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.370389 | controller | and checks that' 2025-11-25 08:56:04.370395 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.370401 | controller | pattern' 2025-11-25 08:56:04.370406 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.370412 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.370418 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.370424 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.370430 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.370436 | controller | - ' exit 0' 2025-11-25 08:56:04.370441 | controller | - ' else' 2025-11-25 08:56:04.370447 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.370453 | controller | - ' exit 1' 2025-11-25 08:56:04.370459 | controller | - ' fi' 2025-11-25 08:56:04.370465 | controller | - ' ' 2025-11-25 08:56:04.370471 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.370476 | controller | them with a script' 2025-11-25 08:56:04.370482 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.370488 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.370494 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.370500 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.370514 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.370526 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.370532 | controller | - ' # it is an image' 2025-11-25 08:56:04.370537 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.370543 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.370549 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.370555 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.370564 | controller | - ' case $NAME in' 2025-11-25 08:56:04.370569 | controller | - ' API)' 2025-11-25 08:56:04.370575 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.370581 | controller | - ' ;;' 2025-11-25 08:56:04.370587 | controller | - ' esac' 2025-11-25 08:56:04.370593 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.370598 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.370604 | controller | - ' exit 1' 2025-11-25 08:56:04.370610 | controller | - ' fi' 2025-11-25 08:56:04.370616 | controller | - ' fi' 2025-11-25 08:56:04.370622 | controller | - ' done' 2025-11-25 08:56:04.370627 | controller | - ' ]' 2025-11-25 08:56:04.370633 | controller | - ' logger.go:42: 08:48:12 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.370639 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.370645 | controller | so we can''t rely on' 2025-11-25 08:56:04.370651 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.370656 | controller | and checks that' 2025-11-25 08:56:04.370662 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.370668 | controller | pattern' 2025-11-25 08:56:04.370674 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.370680 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.370686 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.370691 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.370697 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.370703 | controller | - ' exit 0' 2025-11-25 08:56:04.370709 | controller | - ' else' 2025-11-25 08:56:04.370715 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.370720 | controller | - ' exit 1' 2025-11-25 08:56:04.370726 | controller | - ' fi' 2025-11-25 08:56:04.370732 | controller | - ' ' 2025-11-25 08:56:04.370738 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.370744 | controller | them with a script' 2025-11-25 08:56:04.370749 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.370755 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.370761 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.370767 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.370773 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.370784 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.370790 | controller | - ' # it is an image' 2025-11-25 08:56:04.370796 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.370802 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.370807 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.370813 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.370819 | controller | - ' case $NAME in' 2025-11-25 08:56:04.370825 | controller | - ' API)' 2025-11-25 08:56:04.370831 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.370837 | controller | - ' ;;' 2025-11-25 08:56:04.370842 | controller | - ' esac' 2025-11-25 08:56:04.370848 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.370857 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.370863 | controller | - ' exit 1' 2025-11-25 08:56:04.370872 | controller | - ' fi' 2025-11-25 08:56:04.370878 | controller | - ' fi' 2025-11-25 08:56:04.370884 | controller | - ' done' 2025-11-25 08:56:04.370890 | controller | - ' ]' 2025-11-25 08:56:04.370895 | controller | - ' logger.go:42: 08:48:13 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.370901 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.370907 | controller | so we can''t rely on' 2025-11-25 08:56:04.370913 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.370919 | controller | and checks that' 2025-11-25 08:56:04.370925 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.370931 | controller | pattern' 2025-11-25 08:56:04.370936 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.370942 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.370955 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.370961 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.370967 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.370974 | controller | - ' exit 0' 2025-11-25 08:56:04.370985 | controller | - ' else' 2025-11-25 08:56:04.371001 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.371009 | controller | - ' exit 1' 2025-11-25 08:56:04.371017 | controller | - ' fi' 2025-11-25 08:56:04.371025 | controller | - ' ' 2025-11-25 08:56:04.371033 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.371041 | controller | them with a script' 2025-11-25 08:56:04.371048 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.371060 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.371066 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.371072 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.371078 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.371089 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.371095 | controller | - ' # it is an image' 2025-11-25 08:56:04.371122 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.371128 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.371134 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.371141 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.371149 | controller | - ' case $NAME in' 2025-11-25 08:56:04.371156 | controller | - ' API)' 2025-11-25 08:56:04.371164 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.371172 | controller | - ' ;;' 2025-11-25 08:56:04.371179 | controller | - ' esac' 2025-11-25 08:56:04.371191 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.371198 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.371206 | controller | - ' exit 1' 2025-11-25 08:56:04.371214 | controller | - ' fi' 2025-11-25 08:56:04.371234 | controller | - ' fi' 2025-11-25 08:56:04.371243 | controller | - ' done' 2025-11-25 08:56:04.371250 | controller | - ' ]' 2025-11-25 08:56:04.371262 | controller | - ' logger.go:42: 08:48:14 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.371270 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.371277 | controller | so we can''t rely on' 2025-11-25 08:56:04.371285 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.371292 | controller | and checks that' 2025-11-25 08:56:04.371300 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.371307 | controller | pattern' 2025-11-25 08:56:04.371315 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.371322 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.371329 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.371334 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.371340 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.371346 | controller | - ' exit 0' 2025-11-25 08:56:04.371352 | controller | - ' else' 2025-11-25 08:56:04.371358 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.371364 | controller | - ' exit 1' 2025-11-25 08:56:04.371370 | controller | - ' fi' 2025-11-25 08:56:04.371375 | controller | - ' ' 2025-11-25 08:56:04.371381 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.371387 | controller | them with a script' 2025-11-25 08:56:04.371393 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.371399 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.371405 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.371411 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.371416 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.371428 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.371434 | controller | - ' # it is an image' 2025-11-25 08:56:04.371440 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.371453 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.371459 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.371464 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.371470 | controller | - ' case $NAME in' 2025-11-25 08:56:04.371476 | controller | - ' API)' 2025-11-25 08:56:04.371482 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.371491 | controller | - ' ;;' 2025-11-25 08:56:04.371497 | controller | - ' esac' 2025-11-25 08:56:04.371502 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.371508 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.371514 | controller | - ' exit 1' 2025-11-25 08:56:04.371520 | controller | - ' fi' 2025-11-25 08:56:04.371526 | controller | - ' fi' 2025-11-25 08:56:04.371531 | controller | - ' done' 2025-11-25 08:56:04.371549 | controller | - ' ]' 2025-11-25 08:56:04.371558 | controller | - ' logger.go:42: 08:48:16 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.371564 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.371570 | controller | so we can''t rely on' 2025-11-25 08:56:04.371576 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.371585 | controller | and checks that' 2025-11-25 08:56:04.371590 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.371596 | controller | pattern' 2025-11-25 08:56:04.371602 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.371608 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.371614 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.371620 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.371625 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.371631 | controller | - ' exit 0' 2025-11-25 08:56:04.371637 | controller | - ' else' 2025-11-25 08:56:04.371643 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.371649 | controller | - ' exit 1' 2025-11-25 08:56:04.371654 | controller | - ' fi' 2025-11-25 08:56:04.371660 | controller | - ' ' 2025-11-25 08:56:04.371666 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.371672 | controller | them with a script' 2025-11-25 08:56:04.371678 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.371683 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.371689 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.371695 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.371701 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.371713 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.371719 | controller | - ' # it is an image' 2025-11-25 08:56:04.371724 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.371730 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.371736 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.371742 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.371748 | controller | - ' case $NAME in' 2025-11-25 08:56:04.371753 | controller | - ' API)' 2025-11-25 08:56:04.371759 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.371765 | controller | - ' ;;' 2025-11-25 08:56:04.371771 | controller | - ' esac' 2025-11-25 08:56:04.371777 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.371782 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.371788 | controller | - ' exit 1' 2025-11-25 08:56:04.371794 | controller | - ' fi' 2025-11-25 08:56:04.371800 | controller | - ' fi' 2025-11-25 08:56:04.371806 | controller | - ' done' 2025-11-25 08:56:04.371813 | controller | - ' ]' 2025-11-25 08:56:04.371821 | controller | - ' logger.go:42: 08:48:17 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.371829 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.371836 | controller | so we can''t rely on' 2025-11-25 08:56:04.371844 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.371852 | controller | and checks that' 2025-11-25 08:56:04.371859 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.371865 | controller | pattern' 2025-11-25 08:56:04.371871 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.371876 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.371885 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.371891 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.371897 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.371903 | controller | - ' exit 0' 2025-11-25 08:56:04.371910 | controller | - ' else' 2025-11-25 08:56:04.371917 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.371925 | controller | - ' exit 1' 2025-11-25 08:56:04.371932 | controller | - ' fi' 2025-11-25 08:56:04.371940 | controller | - ' ' 2025-11-25 08:56:04.371947 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.371953 | controller | them with a script' 2025-11-25 08:56:04.371959 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.371965 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.371973 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.371981 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.371989 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.372004 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.372011 | controller | - ' # it is an image' 2025-11-25 08:56:04.372027 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.372036 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.372044 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.372051 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.372058 | controller | - ' case $NAME in' 2025-11-25 08:56:04.372065 | controller | - ' API)' 2025-11-25 08:56:04.372072 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.372079 | controller | - ' ;;' 2025-11-25 08:56:04.372087 | controller | - ' esac' 2025-11-25 08:56:04.372094 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.372124 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.372133 | controller | - ' exit 1' 2025-11-25 08:56:04.372141 | controller | - ' fi' 2025-11-25 08:56:04.372148 | controller | - ' fi' 2025-11-25 08:56:04.372156 | controller | - ' done' 2025-11-25 08:56:04.372163 | controller | - ' ]' 2025-11-25 08:56:04.372171 | controller | - ' logger.go:42: 08:48:18 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.372178 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.372184 | controller | so we can''t rely on' 2025-11-25 08:56:04.372190 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.372195 | controller | and checks that' 2025-11-25 08:56:04.372201 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.372207 | controller | pattern' 2025-11-25 08:56:04.372213 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.372219 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.372225 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.372230 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.372236 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.372246 | controller | - ' exit 0' 2025-11-25 08:56:04.372252 | controller | - ' else' 2025-11-25 08:56:04.372258 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.372264 | controller | - ' exit 1' 2025-11-25 08:56:04.372269 | controller | - ' fi' 2025-11-25 08:56:04.372275 | controller | - ' ' 2025-11-25 08:56:04.372285 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.372291 | controller | them with a script' 2025-11-25 08:56:04.372298 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.372306 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.372314 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.372321 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.372328 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.372343 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.372350 | controller | - ' # it is an image' 2025-11-25 08:56:04.372361 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.372368 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.372376 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.372383 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.372389 | controller | - ' case $NAME in' 2025-11-25 08:56:04.372395 | controller | - ' API)' 2025-11-25 08:56:04.372400 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.372406 | controller | - ' ;;' 2025-11-25 08:56:04.372412 | controller | - ' esac' 2025-11-25 08:56:04.372418 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.372424 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.372429 | controller | - ' exit 1' 2025-11-25 08:56:04.372435 | controller | - ' fi' 2025-11-25 08:56:04.372441 | controller | - ' fi' 2025-11-25 08:56:04.372447 | controller | - ' done' 2025-11-25 08:56:04.372453 | controller | - ' ]' 2025-11-25 08:56:04.372459 | controller | - ' logger.go:42: 08:48:19 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.372464 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.372470 | controller | so we can''t rely on' 2025-11-25 08:56:04.372476 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.372482 | controller | and checks that' 2025-11-25 08:56:04.372488 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.372494 | controller | pattern' 2025-11-25 08:56:04.372500 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.372505 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.372511 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.372517 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.372524 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.372531 | controller | - ' exit 0' 2025-11-25 08:56:04.372538 | controller | - ' else' 2025-11-25 08:56:04.372556 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.372565 | controller | - ' exit 1' 2025-11-25 08:56:04.372573 | controller | - ' fi' 2025-11-25 08:56:04.372581 | controller | - ' ' 2025-11-25 08:56:04.372588 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.372600 | controller | them with a script' 2025-11-25 08:56:04.372611 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.372618 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.372625 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.372631 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.372637 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.372648 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.372654 | controller | - ' # it is an image' 2025-11-25 08:56:04.372660 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.372666 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.372672 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.372678 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.372683 | controller | - ' case $NAME in' 2025-11-25 08:56:04.372689 | controller | - ' API)' 2025-11-25 08:56:04.372695 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.372701 | controller | - ' ;;' 2025-11-25 08:56:04.372707 | controller | - ' esac' 2025-11-25 08:56:04.372713 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.372719 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.372724 | controller | - ' exit 1' 2025-11-25 08:56:04.372730 | controller | - ' fi' 2025-11-25 08:56:04.372736 | controller | - ' fi' 2025-11-25 08:56:04.372742 | controller | - ' done' 2025-11-25 08:56:04.372748 | controller | - ' ]' 2025-11-25 08:56:04.372754 | controller | - ' logger.go:42: 08:48:20 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.372759 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.372765 | controller | so we can''t rely on' 2025-11-25 08:56:04.372771 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.372777 | controller | and checks that' 2025-11-25 08:56:04.372783 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.372789 | controller | pattern' 2025-11-25 08:56:04.372795 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.372800 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.372806 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.372812 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.372818 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.372824 | controller | - ' exit 0' 2025-11-25 08:56:04.372830 | controller | - ' else' 2025-11-25 08:56:04.372835 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.372841 | controller | - ' exit 1' 2025-11-25 08:56:04.372847 | controller | - ' fi' 2025-11-25 08:56:04.372853 | controller | - ' ' 2025-11-25 08:56:04.372859 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.372865 | controller | them with a script' 2025-11-25 08:56:04.372871 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.372876 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.372882 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.372891 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.372897 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.372908 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.372914 | controller | - ' # it is an image' 2025-11-25 08:56:04.372920 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.372926 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.372932 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.372938 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.372943 | controller | - ' case $NAME in' 2025-11-25 08:56:04.372949 | controller | - ' API)' 2025-11-25 08:56:04.372955 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.372961 | controller | - ' ;;' 2025-11-25 08:56:04.372967 | controller | - ' esac' 2025-11-25 08:56:04.372973 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.372978 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.372984 | controller | - ' exit 1' 2025-11-25 08:56:04.372990 | controller | - ' fi' 2025-11-25 08:56:04.372996 | controller | - ' fi' 2025-11-25 08:56:04.373002 | controller | - ' done' 2025-11-25 08:56:04.373007 | controller | - ' ]' 2025-11-25 08:56:04.373013 | controller | - ' logger.go:42: 08:48:22 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.373019 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.373032 | controller | so we can''t rely on' 2025-11-25 08:56:04.373039 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.373051 | controller | and checks that' 2025-11-25 08:56:04.373067 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.373075 | controller | pattern' 2025-11-25 08:56:04.373083 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.373091 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.373119 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.373129 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.373135 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.373141 | controller | - ' exit 0' 2025-11-25 08:56:04.373149 | controller | - ' else' 2025-11-25 08:56:04.373157 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.373164 | controller | - ' exit 1' 2025-11-25 08:56:04.373172 | controller | - ' fi' 2025-11-25 08:56:04.373180 | controller | - ' ' 2025-11-25 08:56:04.373187 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.373195 | controller | them with a script' 2025-11-25 08:56:04.373201 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.373207 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.373213 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.373219 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.373225 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.373236 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.373249 | controller | - ' # it is an image' 2025-11-25 08:56:04.373257 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.373264 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.373272 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.373279 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.373287 | controller | - ' case $NAME in' 2025-11-25 08:56:04.373295 | controller | - ' API)' 2025-11-25 08:56:04.373311 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.373317 | controller | - ' ;;' 2025-11-25 08:56:04.373323 | controller | - ' esac' 2025-11-25 08:56:04.373330 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.373337 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.373345 | controller | - ' exit 1' 2025-11-25 08:56:04.373353 | controller | - ' fi' 2025-11-25 08:56:04.373361 | controller | - ' fi' 2025-11-25 08:56:04.373368 | controller | - ' done' 2025-11-25 08:56:04.373376 | controller | - ' ]' 2025-11-25 08:56:04.373383 | controller | - ' logger.go:42: 08:48:23 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.373399 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.373407 | controller | so we can''t rely on' 2025-11-25 08:56:04.373413 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.373420 | controller | and checks that' 2025-11-25 08:56:04.373432 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.373441 | controller | pattern' 2025-11-25 08:56:04.373448 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.373456 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.373463 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.373474 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.373482 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.373489 | controller | - ' exit 0' 2025-11-25 08:56:04.373497 | controller | - ' else' 2025-11-25 08:56:04.373504 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.373512 | controller | - ' exit 1' 2025-11-25 08:56:04.373519 | controller | - ' fi' 2025-11-25 08:56:04.373527 | controller | - ' ' 2025-11-25 08:56:04.373535 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.373542 | controller | them with a script' 2025-11-25 08:56:04.373550 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.373557 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.373565 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.373572 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.373580 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.373595 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.373602 | controller | - ' # it is an image' 2025-11-25 08:56:04.373610 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.373618 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.373636 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.373644 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.373658 | controller | - ' case $NAME in' 2025-11-25 08:56:04.373666 | controller | - ' API)' 2025-11-25 08:56:04.373674 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.373681 | controller | - ' ;;' 2025-11-25 08:56:04.373688 | controller | - ' esac' 2025-11-25 08:56:04.373696 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.373703 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.373711 | controller | - ' exit 1' 2025-11-25 08:56:04.373719 | controller | - ' fi' 2025-11-25 08:56:04.373727 | controller | - ' fi' 2025-11-25 08:56:04.373734 | controller | - ' done' 2025-11-25 08:56:04.373742 | controller | - ' ]' 2025-11-25 08:56:04.373749 | controller | - ' logger.go:42: 08:48:24 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.373757 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.373764 | controller | so we can''t rely on' 2025-11-25 08:56:04.373772 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.373779 | controller | and checks that' 2025-11-25 08:56:04.373787 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.373794 | controller | pattern' 2025-11-25 08:56:04.373802 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.373810 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.373817 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.373825 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.373832 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.373840 | controller | - ' exit 0' 2025-11-25 08:56:04.373847 | controller | - ' else' 2025-11-25 08:56:04.373855 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.373862 | controller | - ' exit 1' 2025-11-25 08:56:04.373870 | controller | - ' fi' 2025-11-25 08:56:04.373877 | controller | - ' ' 2025-11-25 08:56:04.373890 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.373898 | controller | them with a script' 2025-11-25 08:56:04.373906 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.373913 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.373921 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.373928 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.373935 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.373950 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.373958 | controller | - ' # it is an image' 2025-11-25 08:56:04.373966 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.373973 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.373981 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.373988 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.373996 | controller | - ' case $NAME in' 2025-11-25 08:56:04.374003 | controller | - ' API)' 2025-11-25 08:56:04.374011 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.374018 | controller | - ' ;;' 2025-11-25 08:56:04.374026 | controller | - ' esac' 2025-11-25 08:56:04.374038 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.374046 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.374054 | controller | - ' exit 1' 2025-11-25 08:56:04.374061 | controller | - ' fi' 2025-11-25 08:56:04.374069 | controller | - ' fi' 2025-11-25 08:56:04.374076 | controller | - ' done' 2025-11-25 08:56:04.374084 | controller | - ' ]' 2025-11-25 08:56:04.374091 | controller | - ' logger.go:42: 08:48:25 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.374117 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.374128 | controller | so we can''t rely on' 2025-11-25 08:56:04.374136 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.374143 | controller | and checks that' 2025-11-25 08:56:04.374151 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.374159 | controller | pattern' 2025-11-25 08:56:04.374166 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.374174 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.374181 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.374189 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.374196 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.374204 | controller | - ' exit 0' 2025-11-25 08:56:04.374211 | controller | - ' else' 2025-11-25 08:56:04.374219 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.374226 | controller | - ' exit 1' 2025-11-25 08:56:04.374234 | controller | - ' fi' 2025-11-25 08:56:04.374241 | controller | - ' ' 2025-11-25 08:56:04.374249 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.374267 | controller | them with a script' 2025-11-25 08:56:04.374274 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.374281 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.374288 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.374295 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.374302 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.374314 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.374320 | controller | - ' # it is an image' 2025-11-25 08:56:04.374325 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.374331 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.374337 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.374347 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.374353 | controller | - ' case $NAME in' 2025-11-25 08:56:04.374359 | controller | - ' API)' 2025-11-25 08:56:04.374364 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.374370 | controller | - ' ;;' 2025-11-25 08:56:04.374376 | controller | - ' esac' 2025-11-25 08:56:04.374382 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.374388 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.374394 | controller | - ' exit 1' 2025-11-25 08:56:04.374400 | controller | - ' fi' 2025-11-25 08:56:04.374405 | controller | - ' fi' 2025-11-25 08:56:04.374411 | controller | - ' done' 2025-11-25 08:56:04.374420 | controller | - ' ]' 2025-11-25 08:56:04.374426 | controller | - ' logger.go:42: 08:48:26 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.374432 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.374438 | controller | so we can''t rely on' 2025-11-25 08:56:04.374444 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.374450 | controller | and checks that' 2025-11-25 08:56:04.374456 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.374462 | controller | pattern' 2025-11-25 08:56:04.374467 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.374473 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.374479 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.374485 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.374491 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.374497 | controller | - ' exit 0' 2025-11-25 08:56:04.374503 | controller | - ' else' 2025-11-25 08:56:04.374508 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.374514 | controller | - ' exit 1' 2025-11-25 08:56:04.374520 | controller | - ' fi' 2025-11-25 08:56:04.374526 | controller | - ' ' 2025-11-25 08:56:04.374532 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.374538 | controller | them with a script' 2025-11-25 08:56:04.374543 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.374549 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.374555 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.374561 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.374567 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.374579 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.374584 | controller | - ' # it is an image' 2025-11-25 08:56:04.374590 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.374596 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.374602 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.374608 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.374614 | controller | - ' case $NAME in' 2025-11-25 08:56:04.374619 | controller | - ' API)' 2025-11-25 08:56:04.374625 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.374631 | controller | - ' ;;' 2025-11-25 08:56:04.374637 | controller | - ' esac' 2025-11-25 08:56:04.374643 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.374649 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.374654 | controller | - ' exit 1' 2025-11-25 08:56:04.374660 | controller | - ' fi' 2025-11-25 08:56:04.374666 | controller | - ' fi' 2025-11-25 08:56:04.374672 | controller | - ' done' 2025-11-25 08:56:04.374678 | controller | - ' ]' 2025-11-25 08:56:04.374683 | controller | - ' logger.go:42: 08:48:27 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.374689 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.374695 | controller | so we can''t rely on' 2025-11-25 08:56:04.374703 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.374712 | controller | and checks that' 2025-11-25 08:56:04.374718 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.374731 | controller | pattern' 2025-11-25 08:56:04.374737 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.374743 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.374749 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.374757 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.374764 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.374773 | controller | - ' exit 0' 2025-11-25 08:56:04.374780 | controller | - ' else' 2025-11-25 08:56:04.374788 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.374796 | controller | - ' exit 1' 2025-11-25 08:56:04.374803 | controller | - ' fi' 2025-11-25 08:56:04.374810 | controller | - ' ' 2025-11-25 08:56:04.374817 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.374824 | controller | them with a script' 2025-11-25 08:56:04.374831 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.374837 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.374843 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.374850 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.374858 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.374873 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.374881 | controller | - ' # it is an image' 2025-11-25 08:56:04.374888 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.374895 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.374901 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.374907 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.374913 | controller | - ' case $NAME in' 2025-11-25 08:56:04.374919 | controller | - ' API)' 2025-11-25 08:56:04.374925 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.374930 | controller | - ' ;;' 2025-11-25 08:56:04.374937 | controller | - ' esac' 2025-11-25 08:56:04.374944 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.374957 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.374965 | controller | - ' exit 1' 2025-11-25 08:56:04.374972 | controller | - ' fi' 2025-11-25 08:56:04.374980 | controller | - ' fi' 2025-11-25 08:56:04.374987 | controller | - ' done' 2025-11-25 08:56:04.374995 | controller | - ' ]' 2025-11-25 08:56:04.375002 | controller | - ' logger.go:42: 08:48:29 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.375009 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.375017 | controller | so we can''t rely on' 2025-11-25 08:56:04.375024 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.375031 | controller | and checks that' 2025-11-25 08:56:04.375038 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.375046 | controller | pattern' 2025-11-25 08:56:04.375054 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.375066 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.375073 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.375081 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.375088 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.375100 | controller | - ' exit 0' 2025-11-25 08:56:04.375126 | controller | - ' else' 2025-11-25 08:56:04.375134 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.375142 | controller | - ' exit 1' 2025-11-25 08:56:04.375150 | controller | - ' fi' 2025-11-25 08:56:04.375162 | controller | - ' ' 2025-11-25 08:56:04.375169 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.375175 | controller | them with a script' 2025-11-25 08:56:04.375182 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.375189 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.375196 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.375204 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.375212 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.375227 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.375260 | controller | - ' # it is an image' 2025-11-25 08:56:04.375269 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.375276 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.375284 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.375291 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.375299 | controller | - ' case $NAME in' 2025-11-25 08:56:04.375307 | controller | - ' API)' 2025-11-25 08:56:04.375324 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.375333 | controller | - ' ;;' 2025-11-25 08:56:04.375340 | controller | - ' esac' 2025-11-25 08:56:04.375348 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.375355 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.375363 | controller | - ' exit 1' 2025-11-25 08:56:04.375370 | controller | - ' fi' 2025-11-25 08:56:04.375376 | controller | - ' fi' 2025-11-25 08:56:04.375383 | controller | - ' done' 2025-11-25 08:56:04.375391 | controller | - ' ]' 2025-11-25 08:56:04.375399 | controller | - ' logger.go:42: 08:48:30 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.375407 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.375414 | controller | so we can''t rely on' 2025-11-25 08:56:04.375422 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.375429 | controller | and checks that' 2025-11-25 08:56:04.375437 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.375444 | controller | pattern' 2025-11-25 08:56:04.375452 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.375459 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.375466 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.375474 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.375482 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.375494 | controller | - ' exit 0' 2025-11-25 08:56:04.375502 | controller | - ' else' 2025-11-25 08:56:04.375510 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.375517 | controller | - ' exit 1' 2025-11-25 08:56:04.375525 | controller | - ' fi' 2025-11-25 08:56:04.375532 | controller | - ' ' 2025-11-25 08:56:04.375540 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.375547 | controller | them with a script' 2025-11-25 08:56:04.375554 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.375562 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.375570 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.375577 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.375585 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.375600 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.375608 | controller | - ' # it is an image' 2025-11-25 08:56:04.375620 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.375627 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.375635 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.375642 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.375650 | controller | - ' case $NAME in' 2025-11-25 08:56:04.375658 | controller | - ' API)' 2025-11-25 08:56:04.375666 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.375673 | controller | - ' ;;' 2025-11-25 08:56:04.375681 | controller | - ' esac' 2025-11-25 08:56:04.375688 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.375696 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.375703 | controller | - ' exit 1' 2025-11-25 08:56:04.375711 | controller | - ' fi' 2025-11-25 08:56:04.375719 | controller | - ' fi' 2025-11-25 08:56:04.375726 | controller | - ' done' 2025-11-25 08:56:04.375734 | controller | - ' ]' 2025-11-25 08:56:04.375742 | controller | - ' logger.go:42: 08:48:31 | change_keystone_config/0-deploy_keystone | running 2025-11-25 08:56:04.375749 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 08:56:04.375757 | controller | so we can''t rely on' 2025-11-25 08:56:04.375765 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.375772 | controller | and checks that' 2025-11-25 08:56:04.375780 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.375787 | controller | pattern' 2025-11-25 08:56:04.375795 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.375802 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.375810 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.375817 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.375825 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.375836 | controller | - ' exit 0' 2025-11-25 08:56:04.375844 | controller | - ' else' 2025-11-25 08:56:04.375852 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.375859 | controller | - ' exit 1' 2025-11-25 08:56:04.375867 | controller | - ' fi' 2025-11-25 08:56:04.375874 | controller | - ' ' 2025-11-25 08:56:04.375885 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.375893 | controller | them with a script' 2025-11-25 08:56:04.375901 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.375909 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.375925 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.375933 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.375940 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.375955 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.375963 | controller | - ' # it is an image' 2025-11-25 08:56:04.375970 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.375978 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.375985 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.375993 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.376001 | controller | - ' case $NAME in' 2025-11-25 08:56:04.376008 | controller | - ' API)' 2025-11-25 08:56:04.376016 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.376023 | controller | - ' ;;' 2025-11-25 08:56:04.376031 | controller | - ' esac' 2025-11-25 08:56:04.376038 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.376045 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.376053 | controller | - ' exit 1' 2025-11-25 08:56:04.376061 | controller | - ' fi' 2025-11-25 08:56:04.376068 | controller | - ' fi' 2025-11-25 08:56:04.376076 | controller | - ' done' 2025-11-25 08:56:04.376083 | controller | - ' ]' 2025-11-25 08:56:04.376091 | controller | - ' logger.go:42: 08:48:31 | change_keystone_config/0-deploy_keystone | test step 2025-11-25 08:56:04.376115 | controller | completed 0-deploy_keystone' 2025-11-25 08:56:04.376130 | controller | - ' logger.go:42: 08:48:31 | change_keystone_config/1- | starting test step 1-' 2025-11-25 08:56:04.376138 | controller | - ' logger.go:42: 08:48:31 | change_keystone_config/1- | running command: [sh -c 2025-11-25 08:56:04.376164 | controller | $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh]' 2025-11-25 08:56:04.376174 | controller | - ' logger.go:42: 08:48:31 | change_keystone_config/1- | test step completed 1-' 2025-11-25 08:56:04.376181 | controller | - ' logger.go:42: 08:48:31 | change_keystone_config/2-change_keystone_config | 2025-11-25 08:56:04.376189 | controller | starting test step 2-change_keystone_config' 2025-11-25 08:56:04.376196 | controller | - ' logger.go:42: 08:48:31 | change_keystone_config/2-change_keystone_config | 2025-11-25 08:56:04.376204 | controller | running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type=''json'' 2025-11-25 08:56:04.376211 | controller | -p=''[{"op": "replace", "path": "/spec/customServiceConfig", "value": "[DEFAULT]\ndebug 2025-11-25 08:56:04.376219 | controller | = false"}]''' 2025-11-25 08:56:04.376226 | controller | - ' ]' 2025-11-25 08:56:04.376234 | controller | - ' logger.go:42: 08:48:32 | change_keystone_config/2-change_keystone_config | 2025-11-25 08:56:04.376242 | controller | keystoneapi.keystone.openstack.org/keystone patched' 2025-11-25 08:56:04.376249 | controller | - ' logger.go:42: 08:48:32 | change_keystone_config/2-change_keystone_config | 2025-11-25 08:56:04.376257 | controller | running command: [sh -c $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh 2025-11-25 08:56:04.376264 | controller | --reverse]' 2025-11-25 08:56:04.376272 | controller | - ' logger.go:42: 08:48:33 | change_keystone_config/2-change_keystone_config | 2025-11-25 08:56:04.376279 | controller | running command: [sh -c $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh 2025-11-25 08:56:04.376291 | controller | --reverse]' 2025-11-25 08:56:04.376298 | controller | - ' logger.go:42: 08:48:33 | change_keystone_config/2-change_keystone_config | 2025-11-25 08:56:04.376306 | controller | error: arguments in resource/name form may not have more than one slash' 2025-11-25 08:56:04.376313 | controller | - ' logger.go:42: 08:48:33 | change_keystone_config/2-change_keystone_config | 2025-11-25 08:56:04.376321 | controller | test step completed 2-change_keystone_config' 2025-11-25 08:56:04.376329 | controller | - ' logger.go:42: 08:48:33 | change_keystone_config/3-cleanup-keystone | starting 2025-11-25 08:56:04.376336 | controller | test step 3-cleanup-keystone' 2025-11-25 08:56:04.376344 | controller | - ' logger.go:42: 08:48:37 | change_keystone_config/3-cleanup-keystone | test step 2025-11-25 08:56:04.376351 | controller | completed 3-cleanup-keystone' 2025-11-25 08:56:04.376359 | controller | - ' logger.go:42: 08:48:37 | change_keystone_config | skipping kubernetes event 2025-11-25 08:56:04.376366 | controller | logging' 2025-11-25 08:56:04.376374 | controller | - === CONT kuttl/harness/keystone_scale 2025-11-25 08:56:04.376381 | controller | - ' logger.go:42: 08:48:37 | keystone_scale | Skipping creation of user-supplied 2025-11-25 08:56:04.376389 | controller | namespace: keystone-kuttl-tests' 2025-11-25 08:56:04.376396 | controller | - ' logger.go:42: 08:48:37 | keystone_scale/0-deploy_keystone | starting test step 2025-11-25 08:56:04.376404 | controller | 0-deploy_keystone' 2025-11-25 08:56:04.376411 | controller | - ' logger.go:42: 08:48:37 | keystone_scale/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone 2025-11-25 08:56:04.376419 | controller | created' 2025-11-25 08:56:04.376426 | controller | - ' logger.go:42: 08:48:38 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.376433 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.376438 | controller | rely on' 2025-11-25 08:56:04.376444 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.376450 | controller | and checks that' 2025-11-25 08:56:04.376456 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.376462 | controller | pattern' 2025-11-25 08:56:04.376477 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.376483 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.376489 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.376495 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.376500 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.376506 | controller | - ' exit 0' 2025-11-25 08:56:04.376512 | controller | - ' else' 2025-11-25 08:56:04.376518 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.376524 | controller | - ' exit 1' 2025-11-25 08:56:04.376529 | controller | - ' fi' 2025-11-25 08:56:04.376535 | controller | - ' ' 2025-11-25 08:56:04.376541 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.376547 | controller | them with a script' 2025-11-25 08:56:04.376553 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.376559 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.376565 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.376570 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.376576 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.376588 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.376597 | controller | - ' # it is an image' 2025-11-25 08:56:04.376603 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.376609 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.376615 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.376620 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.376626 | controller | - ' case $NAME in' 2025-11-25 08:56:04.376632 | controller | - ' API)' 2025-11-25 08:56:04.376638 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.376644 | controller | - ' ;;' 2025-11-25 08:56:04.376650 | controller | - ' esac' 2025-11-25 08:56:04.376655 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.376661 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.376667 | controller | - ' exit 1' 2025-11-25 08:56:04.376673 | controller | - ' fi' 2025-11-25 08:56:04.376679 | controller | - ' fi' 2025-11-25 08:56:04.376685 | controller | - ' done' 2025-11-25 08:56:04.376690 | controller | - ' ]' 2025-11-25 08:56:04.376696 | controller | - ' logger.go:42: 08:48:38 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.376702 | controller | : do not match regex' 2025-11-25 08:56:04.376708 | controller | - ' logger.go:42: 08:48:39 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.376714 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.376720 | controller | rely on' 2025-11-25 08:56:04.376725 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.376731 | controller | and checks that' 2025-11-25 08:56:04.376741 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.376746 | controller | pattern' 2025-11-25 08:56:04.376752 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.376758 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.376764 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.376770 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.376776 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.376781 | controller | - ' exit 0' 2025-11-25 08:56:04.376787 | controller | - ' else' 2025-11-25 08:56:04.376793 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.376799 | controller | - ' exit 1' 2025-11-25 08:56:04.376805 | controller | - ' fi' 2025-11-25 08:56:04.376811 | controller | - ' ' 2025-11-25 08:56:04.376819 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.376825 | controller | them with a script' 2025-11-25 08:56:04.376831 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.376836 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.376842 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.376848 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.376854 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.376865 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.376871 | controller | - ' # it is an image' 2025-11-25 08:56:04.376877 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.376883 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.376892 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.376898 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.376904 | controller | - ' case $NAME in' 2025-11-25 08:56:04.376910 | controller | - ' API)' 2025-11-25 08:56:04.376922 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.376929 | controller | - ' ;;' 2025-11-25 08:56:04.376934 | controller | - ' esac' 2025-11-25 08:56:04.376940 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.376946 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.376952 | controller | - ' exit 1' 2025-11-25 08:56:04.376958 | controller | - ' fi' 2025-11-25 08:56:04.376964 | controller | - ' fi' 2025-11-25 08:56:04.376970 | controller | - ' done' 2025-11-25 08:56:04.376975 | controller | - ' ]' 2025-11-25 08:56:04.376981 | controller | - ' logger.go:42: 08:48:39 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.376987 | controller | : do not match regex' 2025-11-25 08:56:04.376993 | controller | - ' logger.go:42: 08:48:40 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.376999 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.377005 | controller | rely on' 2025-11-25 08:56:04.377010 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.377016 | controller | and checks that' 2025-11-25 08:56:04.377022 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.377028 | controller | pattern' 2025-11-25 08:56:04.377034 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.377042 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.377048 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.377054 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.377060 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.377066 | controller | - ' exit 0' 2025-11-25 08:56:04.377072 | controller | - ' else' 2025-11-25 08:56:04.377078 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.377083 | controller | - ' exit 1' 2025-11-25 08:56:04.377089 | controller | - ' fi' 2025-11-25 08:56:04.377095 | controller | - ' ' 2025-11-25 08:56:04.377120 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.377127 | controller | them with a script' 2025-11-25 08:56:04.377133 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.377139 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.377145 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.377151 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.377156 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.377168 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.377174 | controller | - ' # it is an image' 2025-11-25 08:56:04.377180 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.377186 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.377191 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.377197 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.377206 | controller | - ' case $NAME in' 2025-11-25 08:56:04.377212 | controller | - ' API)' 2025-11-25 08:56:04.377218 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.377224 | controller | - ' ;;' 2025-11-25 08:56:04.377230 | controller | - ' esac' 2025-11-25 08:56:04.377235 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.377241 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.377247 | controller | - ' exit 1' 2025-11-25 08:56:04.377253 | controller | - ' fi' 2025-11-25 08:56:04.377259 | controller | - ' fi' 2025-11-25 08:56:04.377265 | controller | - ' done' 2025-11-25 08:56:04.377271 | controller | - ' ]' 2025-11-25 08:56:04.377276 | controller | - ' logger.go:42: 08:48:40 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.377282 | controller | : do not match regex' 2025-11-25 08:56:04.377288 | controller | - ' logger.go:42: 08:48:41 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.377294 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.377300 | controller | rely on' 2025-11-25 08:56:04.377306 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.377311 | controller | and checks that' 2025-11-25 08:56:04.377317 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.377323 | controller | pattern' 2025-11-25 08:56:04.377329 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.377335 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.377341 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.377347 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.377352 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.377358 | controller | - ' exit 0' 2025-11-25 08:56:04.377364 | controller | - ' else' 2025-11-25 08:56:04.377370 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.377376 | controller | - ' exit 1' 2025-11-25 08:56:04.377383 | controller | - ' fi' 2025-11-25 08:56:04.377391 | controller | - ' ' 2025-11-25 08:56:04.377407 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.377416 | controller | them with a script' 2025-11-25 08:56:04.377423 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.377431 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.377439 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.377446 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.377452 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.377464 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.377470 | controller | - ' # it is an image' 2025-11-25 08:56:04.377476 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.377482 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.377488 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.377497 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.377503 | controller | - ' case $NAME in' 2025-11-25 08:56:04.377509 | controller | - ' API)' 2025-11-25 08:56:04.377515 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.377523 | controller | - ' ;;' 2025-11-25 08:56:04.377529 | controller | - ' esac' 2025-11-25 08:56:04.377535 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.377541 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.377547 | controller | - ' exit 1' 2025-11-25 08:56:04.377553 | controller | - ' fi' 2025-11-25 08:56:04.377559 | controller | - ' fi' 2025-11-25 08:56:04.377565 | controller | - ' done' 2025-11-25 08:56:04.377570 | controller | - ' ]' 2025-11-25 08:56:04.377576 | controller | - ' logger.go:42: 08:48:41 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.377582 | controller | : do not match regex' 2025-11-25 08:56:04.377588 | controller | - ' logger.go:42: 08:48:42 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.377594 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.377600 | controller | rely on' 2025-11-25 08:56:04.377605 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.377611 | controller | and checks that' 2025-11-25 08:56:04.377617 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.377623 | controller | pattern' 2025-11-25 08:56:04.377629 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.377634 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.377640 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.377646 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.377652 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.377658 | controller | - ' exit 0' 2025-11-25 08:56:04.377664 | controller | - ' else' 2025-11-25 08:56:04.377669 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.377675 | controller | - ' exit 1' 2025-11-25 08:56:04.377681 | controller | - ' fi' 2025-11-25 08:56:04.377687 | controller | - ' ' 2025-11-25 08:56:04.377693 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.377699 | controller | them with a script' 2025-11-25 08:56:04.377704 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.377710 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.377716 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.377722 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.377728 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.377739 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.377745 | controller | - ' # it is an image' 2025-11-25 08:56:04.377751 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.377757 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.377763 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.377769 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.377777 | controller | - ' case $NAME in' 2025-11-25 08:56:04.377783 | controller | - ' API)' 2025-11-25 08:56:04.377789 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.377795 | controller | - ' ;;' 2025-11-25 08:56:04.377800 | controller | - ' esac' 2025-11-25 08:56:04.377806 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.377815 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.377821 | controller | - ' exit 1' 2025-11-25 08:56:04.377827 | controller | - ' fi' 2025-11-25 08:56:04.377833 | controller | - ' fi' 2025-11-25 08:56:04.377838 | controller | - ' done' 2025-11-25 08:56:04.377844 | controller | - ' ]' 2025-11-25 08:56:04.377850 | controller | - ' logger.go:42: 08:48:42 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.377856 | controller | : do not match regex' 2025-11-25 08:56:04.377869 | controller | - ' logger.go:42: 08:48:43 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.377876 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.377882 | controller | rely on' 2025-11-25 08:56:04.377887 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.377893 | controller | and checks that' 2025-11-25 08:56:04.377899 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.377905 | controller | pattern' 2025-11-25 08:56:04.377911 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.377917 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.377922 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.377928 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.377934 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.377940 | controller | - ' exit 0' 2025-11-25 08:56:04.377946 | controller | - ' else' 2025-11-25 08:56:04.377952 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.377957 | controller | - ' exit 1' 2025-11-25 08:56:04.377966 | controller | - ' fi' 2025-11-25 08:56:04.377972 | controller | - ' ' 2025-11-25 08:56:04.377978 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.377984 | controller | them with a script' 2025-11-25 08:56:04.377990 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.377995 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.378001 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.378007 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.378013 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.378025 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.378031 | controller | - ' # it is an image' 2025-11-25 08:56:04.378036 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.378042 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.378048 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.378054 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.378060 | controller | - ' case $NAME in' 2025-11-25 08:56:04.378066 | controller | - ' API)' 2025-11-25 08:56:04.378071 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.378077 | controller | - ' ;;' 2025-11-25 08:56:04.378083 | controller | - ' esac' 2025-11-25 08:56:04.378089 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.378095 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.378118 | controller | - ' exit 1' 2025-11-25 08:56:04.378128 | controller | - ' fi' 2025-11-25 08:56:04.378134 | controller | - ' fi' 2025-11-25 08:56:04.378140 | controller | - ' done' 2025-11-25 08:56:04.378146 | controller | - ' ]' 2025-11-25 08:56:04.378152 | controller | - ' logger.go:42: 08:48:44 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.378158 | controller | : do not match regex' 2025-11-25 08:56:04.378163 | controller | - ' logger.go:42: 08:48:45 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.378169 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.378175 | controller | rely on' 2025-11-25 08:56:04.378184 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.378189 | controller | and checks that' 2025-11-25 08:56:04.378195 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.378201 | controller | pattern' 2025-11-25 08:56:04.378207 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.378213 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.378219 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.378225 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.378231 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.378242 | controller | - ' exit 0' 2025-11-25 08:56:04.378248 | controller | - ' else' 2025-11-25 08:56:04.378253 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.378259 | controller | - ' exit 1' 2025-11-25 08:56:04.378265 | controller | - ' fi' 2025-11-25 08:56:04.378271 | controller | - ' ' 2025-11-25 08:56:04.378277 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.378283 | controller | them with a script' 2025-11-25 08:56:04.378288 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.378294 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.378300 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.378306 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.378312 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.378324 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.378337 | controller | - ' # it is an image' 2025-11-25 08:56:04.378343 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.378349 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.378355 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.378361 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.378367 | controller | - ' case $NAME in' 2025-11-25 08:56:04.378372 | controller | - ' API)' 2025-11-25 08:56:04.378378 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.378384 | controller | - ' ;;' 2025-11-25 08:56:04.378390 | controller | - ' esac' 2025-11-25 08:56:04.378396 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.378402 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.378407 | controller | - ' exit 1' 2025-11-25 08:56:04.378413 | controller | - ' fi' 2025-11-25 08:56:04.378419 | controller | - ' fi' 2025-11-25 08:56:04.378425 | controller | - ' done' 2025-11-25 08:56:04.378431 | controller | - ' ]' 2025-11-25 08:56:04.378436 | controller | - ' logger.go:42: 08:48:45 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.378445 | controller | : do not match regex' 2025-11-25 08:56:04.378451 | controller | - ' logger.go:42: 08:48:46 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.378457 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.378463 | controller | rely on' 2025-11-25 08:56:04.378469 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.378474 | controller | and checks that' 2025-11-25 08:56:04.378480 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.378486 | controller | pattern' 2025-11-25 08:56:04.378492 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.378498 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.378503 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.378509 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.378515 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.378521 | controller | - ' exit 0' 2025-11-25 08:56:04.378527 | controller | - ' else' 2025-11-25 08:56:04.378533 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.378538 | controller | - ' exit 1' 2025-11-25 08:56:04.378544 | controller | - ' fi' 2025-11-25 08:56:04.378550 | controller | - ' ' 2025-11-25 08:56:04.378556 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.378562 | controller | them with a script' 2025-11-25 08:56:04.378568 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.378574 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.378579 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.378585 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.378591 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.378603 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.378608 | controller | - ' # it is an image' 2025-11-25 08:56:04.378617 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.378623 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.378629 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.378635 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.378641 | controller | - ' case $NAME in' 2025-11-25 08:56:04.378647 | controller | - ' API)' 2025-11-25 08:56:04.378655 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.378661 | controller | - ' ;;' 2025-11-25 08:56:04.378667 | controller | - ' esac' 2025-11-25 08:56:04.378673 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.378679 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.378685 | controller | - ' exit 1' 2025-11-25 08:56:04.378691 | controller | - ' fi' 2025-11-25 08:56:04.378697 | controller | - ' fi' 2025-11-25 08:56:04.378703 | controller | - ' done' 2025-11-25 08:56:04.378709 | controller | - ' ]' 2025-11-25 08:56:04.378715 | controller | - ' logger.go:42: 08:48:46 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.378721 | controller | : do not match regex' 2025-11-25 08:56:04.378727 | controller | - ' logger.go:42: 08:48:47 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.378736 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.378744 | controller | rely on' 2025-11-25 08:56:04.378750 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.378756 | controller | and checks that' 2025-11-25 08:56:04.378765 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.378771 | controller | pattern' 2025-11-25 08:56:04.378777 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.378790 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.378797 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.378803 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.378809 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.378815 | controller | - ' exit 0' 2025-11-25 08:56:04.378821 | controller | - ' else' 2025-11-25 08:56:04.378827 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.378833 | controller | - ' exit 1' 2025-11-25 08:56:04.378839 | controller | - ' fi' 2025-11-25 08:56:04.378845 | controller | - ' ' 2025-11-25 08:56:04.378851 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.378857 | controller | them with a script' 2025-11-25 08:56:04.378863 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.378869 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.378875 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.378881 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.378886 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.378898 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.378904 | controller | - ' # it is an image' 2025-11-25 08:56:04.378910 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.378916 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.378922 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.378927 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.378933 | controller | - ' case $NAME in' 2025-11-25 08:56:04.378939 | controller | - ' API)' 2025-11-25 08:56:04.378945 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.378951 | controller | - ' ;;' 2025-11-25 08:56:04.378957 | controller | - ' esac' 2025-11-25 08:56:04.378963 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.378968 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.378974 | controller | - ' exit 1' 2025-11-25 08:56:04.378980 | controller | - ' fi' 2025-11-25 08:56:04.378986 | controller | - ' fi' 2025-11-25 08:56:04.378992 | controller | - ' done' 2025-11-25 08:56:04.378998 | controller | - ' ]' 2025-11-25 08:56:04.379003 | controller | - ' logger.go:42: 08:48:47 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.379009 | controller | : do not match regex' 2025-11-25 08:56:04.379015 | controller | - ' logger.go:42: 08:48:48 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.379021 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.379027 | controller | rely on' 2025-11-25 08:56:04.379036 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.379041 | controller | and checks that' 2025-11-25 08:56:04.379047 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.379053 | controller | pattern' 2025-11-25 08:56:04.379059 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.379065 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.379071 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.379076 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.379082 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.379088 | controller | - ' exit 0' 2025-11-25 08:56:04.379094 | controller | - ' else' 2025-11-25 08:56:04.379113 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.379122 | controller | - ' exit 1' 2025-11-25 08:56:04.379127 | controller | - ' fi' 2025-11-25 08:56:04.379133 | controller | - ' ' 2025-11-25 08:56:04.379139 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.379145 | controller | them with a script' 2025-11-25 08:56:04.379154 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.379160 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.379166 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.379172 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.379178 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.379190 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.379196 | controller | - ' # it is an image' 2025-11-25 08:56:04.379203 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.379209 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.379215 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.379221 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.379226 | controller | - ' case $NAME in' 2025-11-25 08:56:04.379232 | controller | - ' API)' 2025-11-25 08:56:04.379238 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.379265 | controller | - ' ;;' 2025-11-25 08:56:04.379274 | controller | - ' esac' 2025-11-25 08:56:04.379287 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.379293 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.379299 | controller | - ' exit 1' 2025-11-25 08:56:04.379305 | controller | - ' fi' 2025-11-25 08:56:04.379311 | controller | - ' fi' 2025-11-25 08:56:04.379317 | controller | - ' done' 2025-11-25 08:56:04.379323 | controller | - ' ]' 2025-11-25 08:56:04.379329 | controller | - ' logger.go:42: 08:48:48 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.379335 | controller | : do not match regex' 2025-11-25 08:56:04.379341 | controller | - ' logger.go:42: 08:48:49 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.379346 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.379352 | controller | rely on' 2025-11-25 08:56:04.379358 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.379364 | controller | and checks that' 2025-11-25 08:56:04.379370 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.379379 | controller | pattern' 2025-11-25 08:56:04.379386 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.379391 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.379397 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.379403 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.379409 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.379415 | controller | - ' exit 0' 2025-11-25 08:56:04.379421 | controller | - ' else' 2025-11-25 08:56:04.379426 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.379432 | controller | - ' exit 1' 2025-11-25 08:56:04.379438 | controller | - ' fi' 2025-11-25 08:56:04.379444 | controller | - ' ' 2025-11-25 08:56:04.379450 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.379456 | controller | them with a script' 2025-11-25 08:56:04.379461 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.379467 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.379473 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.379479 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.379485 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.379496 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.379502 | controller | - ' # it is an image' 2025-11-25 08:56:04.379508 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.379514 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.379520 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.379525 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.379531 | controller | - ' case $NAME in' 2025-11-25 08:56:04.379537 | controller | - ' API)' 2025-11-25 08:56:04.379543 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.379549 | controller | - ' ;;' 2025-11-25 08:56:04.379555 | controller | - ' esac' 2025-11-25 08:56:04.379560 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.379566 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.379572 | controller | - ' exit 1' 2025-11-25 08:56:04.379578 | controller | - ' fi' 2025-11-25 08:56:04.379584 | controller | - ' fi' 2025-11-25 08:56:04.379590 | controller | - ' done' 2025-11-25 08:56:04.379595 | controller | - ' ]' 2025-11-25 08:56:04.379601 | controller | - ' logger.go:42: 08:48:49 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.379607 | controller | : do not match regex' 2025-11-25 08:56:04.379613 | controller | - ' logger.go:42: 08:48:50 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.379619 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.379625 | controller | rely on' 2025-11-25 08:56:04.379631 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.379636 | controller | and checks that' 2025-11-25 08:56:04.379642 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.379648 | controller | pattern' 2025-11-25 08:56:04.379654 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.379664 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.379669 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.379675 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.379681 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.379687 | controller | - ' exit 0' 2025-11-25 08:56:04.379693 | controller | - ' else' 2025-11-25 08:56:04.379699 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.379704 | controller | - ' exit 1' 2025-11-25 08:56:04.379710 | controller | - ' fi' 2025-11-25 08:56:04.379716 | controller | - ' ' 2025-11-25 08:56:04.379722 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.379728 | controller | them with a script' 2025-11-25 08:56:04.379740 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.379746 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.379752 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.379758 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.379764 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.379776 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.379785 | controller | - ' # it is an image' 2025-11-25 08:56:04.379791 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.379797 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.379802 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.379808 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.379814 | controller | - ' case $NAME in' 2025-11-25 08:56:04.379820 | controller | - ' API)' 2025-11-25 08:56:04.379826 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.379832 | controller | - ' ;;' 2025-11-25 08:56:04.379837 | controller | - ' esac' 2025-11-25 08:56:04.379843 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.379849 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.379855 | controller | - ' exit 1' 2025-11-25 08:56:04.379863 | controller | - ' fi' 2025-11-25 08:56:04.379869 | controller | - ' fi' 2025-11-25 08:56:04.379875 | controller | - ' done' 2025-11-25 08:56:04.379881 | controller | - ' ]' 2025-11-25 08:56:04.379887 | controller | - ' logger.go:42: 08:48:52 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.379893 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.379899 | controller | rely on' 2025-11-25 08:56:04.379904 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.379910 | controller | and checks that' 2025-11-25 08:56:04.379916 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.379922 | controller | pattern' 2025-11-25 08:56:04.379928 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.379934 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.379940 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.379946 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.379956 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.379962 | controller | - ' exit 0' 2025-11-25 08:56:04.379968 | controller | - ' else' 2025-11-25 08:56:04.379974 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.379980 | controller | - ' exit 1' 2025-11-25 08:56:04.379986 | controller | - ' fi' 2025-11-25 08:56:04.379992 | controller | - ' ' 2025-11-25 08:56:04.379998 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.380004 | controller | them with a script' 2025-11-25 08:56:04.380010 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.380015 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.380021 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.380027 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.380033 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.380045 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.380050 | controller | - ' # it is an image' 2025-11-25 08:56:04.380056 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.380062 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.380068 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.380074 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.380080 | controller | - ' case $NAME in' 2025-11-25 08:56:04.380086 | controller | - ' API)' 2025-11-25 08:56:04.380091 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.380100 | controller | - ' ;;' 2025-11-25 08:56:04.380119 | controller | - ' esac' 2025-11-25 08:56:04.380125 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.380131 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.380137 | controller | - ' exit 1' 2025-11-25 08:56:04.380143 | controller | - ' fi' 2025-11-25 08:56:04.380149 | controller | - ' fi' 2025-11-25 08:56:04.380155 | controller | - ' done' 2025-11-25 08:56:04.380161 | controller | - ' ]' 2025-11-25 08:56:04.380166 | controller | - ' logger.go:42: 08:48:53 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.380172 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.380178 | controller | rely on' 2025-11-25 08:56:04.380184 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.380190 | controller | and checks that' 2025-11-25 08:56:04.380196 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.380202 | controller | pattern' 2025-11-25 08:56:04.380214 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.380220 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.380230 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.380236 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.380242 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.380248 | controller | - ' exit 0' 2025-11-25 08:56:04.380253 | controller | - ' else' 2025-11-25 08:56:04.380259 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.380265 | controller | - ' exit 1' 2025-11-25 08:56:04.380271 | controller | - ' fi' 2025-11-25 08:56:04.380277 | controller | - ' ' 2025-11-25 08:56:04.380289 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.380294 | controller | them with a script' 2025-11-25 08:56:04.380300 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.380306 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.380312 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.380318 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.380326 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.380338 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.380344 | controller | - ' # it is an image' 2025-11-25 08:56:04.380350 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.380356 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.380361 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.380367 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.380373 | controller | - ' case $NAME in' 2025-11-25 08:56:04.380379 | controller | - ' API)' 2025-11-25 08:56:04.380385 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.380390 | controller | - ' ;;' 2025-11-25 08:56:04.380396 | controller | - ' esac' 2025-11-25 08:56:04.380405 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.380410 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.380416 | controller | - ' exit 1' 2025-11-25 08:56:04.380422 | controller | - ' fi' 2025-11-25 08:56:04.380428 | controller | - ' fi' 2025-11-25 08:56:04.380434 | controller | - ' done' 2025-11-25 08:56:04.380440 | controller | - ' ]' 2025-11-25 08:56:04.380445 | controller | - ' logger.go:42: 08:48:54 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.380451 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.380457 | controller | rely on' 2025-11-25 08:56:04.380463 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.380469 | controller | and checks that' 2025-11-25 08:56:04.380475 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.380481 | controller | pattern' 2025-11-25 08:56:04.380486 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.380492 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.380498 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.380504 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.380510 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.380516 | controller | - ' exit 0' 2025-11-25 08:56:04.380521 | controller | - ' else' 2025-11-25 08:56:04.380527 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.380533 | controller | - ' exit 1' 2025-11-25 08:56:04.380539 | controller | - ' fi' 2025-11-25 08:56:04.380545 | controller | - ' ' 2025-11-25 08:56:04.380551 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.380556 | controller | them with a script' 2025-11-25 08:56:04.380562 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.380568 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.380574 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.380582 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.380588 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.380600 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.380606 | controller | - ' # it is an image' 2025-11-25 08:56:04.380612 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.380617 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.380623 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.380629 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.380635 | controller | - ' case $NAME in' 2025-11-25 08:56:04.380641 | controller | - ' API)' 2025-11-25 08:56:04.380646 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.380652 | controller | - ' ;;' 2025-11-25 08:56:04.380664 | controller | - ' esac' 2025-11-25 08:56:04.380670 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.380676 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.380682 | controller | - ' exit 1' 2025-11-25 08:56:04.380688 | controller | - ' fi' 2025-11-25 08:56:04.380694 | controller | - ' fi' 2025-11-25 08:56:04.380700 | controller | - ' done' 2025-11-25 08:56:04.380705 | controller | - ' ]' 2025-11-25 08:56:04.380711 | controller | - ' logger.go:42: 08:48:55 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.380717 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.380723 | controller | rely on' 2025-11-25 08:56:04.380729 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.380735 | controller | and checks that' 2025-11-25 08:56:04.380741 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.380747 | controller | pattern' 2025-11-25 08:56:04.380752 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.380758 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.380764 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.380770 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.380776 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.380782 | controller | - ' exit 0' 2025-11-25 08:56:04.380788 | controller | - ' else' 2025-11-25 08:56:04.380793 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.380799 | controller | - ' exit 1' 2025-11-25 08:56:04.380805 | controller | - ' fi' 2025-11-25 08:56:04.380811 | controller | - ' ' 2025-11-25 08:56:04.380817 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.380823 | controller | them with a script' 2025-11-25 08:56:04.380829 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.380835 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.380843 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.380849 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.380855 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.380867 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.380875 | controller | - ' # it is an image' 2025-11-25 08:56:04.380881 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.380887 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.380893 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.380898 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.380904 | controller | - ' case $NAME in' 2025-11-25 08:56:04.380910 | controller | - ' API)' 2025-11-25 08:56:04.380916 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.380922 | controller | - ' ;;' 2025-11-25 08:56:04.380928 | controller | - ' esac' 2025-11-25 08:56:04.380934 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.380940 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.380945 | controller | - ' exit 1' 2025-11-25 08:56:04.380951 | controller | - ' fi' 2025-11-25 08:56:04.380957 | controller | - ' fi' 2025-11-25 08:56:04.380963 | controller | - ' done' 2025-11-25 08:56:04.380969 | controller | - ' ]' 2025-11-25 08:56:04.380975 | controller | - ' logger.go:42: 08:48:56 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.380981 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.380986 | controller | rely on' 2025-11-25 08:56:04.380992 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.380998 | controller | and checks that' 2025-11-25 08:56:04.381004 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.381010 | controller | pattern' 2025-11-25 08:56:04.381016 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.381023 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.381031 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.381039 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.381046 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.381054 | controller | - ' exit 0' 2025-11-25 08:56:04.381062 | controller | - ' else' 2025-11-25 08:56:04.381070 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.381077 | controller | - ' exit 1' 2025-11-25 08:56:04.381083 | controller | - ' fi' 2025-11-25 08:56:04.381089 | controller | - ' ' 2025-11-25 08:56:04.381095 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.381120 | controller | them with a script' 2025-11-25 08:56:04.381126 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.381132 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.381138 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.381144 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.381158 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.381170 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.381176 | controller | - ' # it is an image' 2025-11-25 08:56:04.381182 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.381188 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.381193 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.381203 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.381209 | controller | - ' case $NAME in' 2025-11-25 08:56:04.381214 | controller | - ' API)' 2025-11-25 08:56:04.381220 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.381226 | controller | - ' ;;' 2025-11-25 08:56:04.381232 | controller | - ' esac' 2025-11-25 08:56:04.381238 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.381244 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.381249 | controller | - ' exit 1' 2025-11-25 08:56:04.381255 | controller | - ' fi' 2025-11-25 08:56:04.381261 | controller | - ' fi' 2025-11-25 08:56:04.381267 | controller | - ' done' 2025-11-25 08:56:04.381273 | controller | - ' ]' 2025-11-25 08:56:04.381278 | controller | - ' logger.go:42: 08:48:58 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.381284 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.381290 | controller | rely on' 2025-11-25 08:56:04.381296 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.381302 | controller | and checks that' 2025-11-25 08:56:04.381308 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.381314 | controller | pattern' 2025-11-25 08:56:04.381319 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.381325 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.381331 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.381337 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.381343 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.381348 | controller | - ' exit 0' 2025-11-25 08:56:04.381354 | controller | - ' else' 2025-11-25 08:56:04.381360 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.381366 | controller | - ' exit 1' 2025-11-25 08:56:04.381372 | controller | - ' fi' 2025-11-25 08:56:04.381378 | controller | - ' ' 2025-11-25 08:56:04.381383 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.381389 | controller | them with a script' 2025-11-25 08:56:04.381395 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.381401 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.381407 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.381412 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.381418 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.381430 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.381436 | controller | - ' # it is an image' 2025-11-25 08:56:04.381445 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.381451 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.381457 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.381463 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.381469 | controller | - ' case $NAME in' 2025-11-25 08:56:04.381475 | controller | - ' API)' 2025-11-25 08:56:04.381481 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.381487 | controller | - ' ;;' 2025-11-25 08:56:04.381495 | controller | - ' esac' 2025-11-25 08:56:04.381501 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.381507 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.381513 | controller | - ' exit 1' 2025-11-25 08:56:04.381519 | controller | - ' fi' 2025-11-25 08:56:04.381525 | controller | - ' fi' 2025-11-25 08:56:04.381533 | controller | - ' done' 2025-11-25 08:56:04.381539 | controller | - ' ]' 2025-11-25 08:56:04.381545 | controller | - ' logger.go:42: 08:48:59 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.381551 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.381557 | controller | rely on' 2025-11-25 08:56:04.381563 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.381569 | controller | and checks that' 2025-11-25 08:56:04.381574 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.381580 | controller | pattern' 2025-11-25 08:56:04.381586 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.381592 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.381604 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.381616 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.381632 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.381640 | controller | - ' exit 0' 2025-11-25 08:56:04.381648 | controller | - ' else' 2025-11-25 08:56:04.381655 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.381663 | controller | - ' exit 1' 2025-11-25 08:56:04.381669 | controller | - ' fi' 2025-11-25 08:56:04.381675 | controller | - ' ' 2025-11-25 08:56:04.381680 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.381686 | controller | them with a script' 2025-11-25 08:56:04.381692 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.381698 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.381704 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.381710 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.381715 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.381728 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.381735 | controller | - ' # it is an image' 2025-11-25 08:56:04.381752 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.381763 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.381771 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.381778 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.381786 | controller | - ' case $NAME in' 2025-11-25 08:56:04.381793 | controller | - ' API)' 2025-11-25 08:56:04.381800 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.381808 | controller | - ' ;;' 2025-11-25 08:56:04.381814 | controller | - ' esac' 2025-11-25 08:56:04.381822 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.381833 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.381839 | controller | - ' exit 1' 2025-11-25 08:56:04.381845 | controller | - ' fi' 2025-11-25 08:56:04.381851 | controller | - ' fi' 2025-11-25 08:56:04.381860 | controller | - ' done' 2025-11-25 08:56:04.381866 | controller | - ' ]' 2025-11-25 08:56:04.381872 | controller | - ' logger.go:42: 08:49:00 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.381877 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.381883 | controller | rely on' 2025-11-25 08:56:04.381889 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.381895 | controller | and checks that' 2025-11-25 08:56:04.381901 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.381907 | controller | pattern' 2025-11-25 08:56:04.381913 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.381918 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.381924 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.381930 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.381936 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.381942 | controller | - ' exit 0' 2025-11-25 08:56:04.381947 | controller | - ' else' 2025-11-25 08:56:04.381953 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.381959 | controller | - ' exit 1' 2025-11-25 08:56:04.381965 | controller | - ' fi' 2025-11-25 08:56:04.381971 | controller | - ' ' 2025-11-25 08:56:04.381977 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.381982 | controller | them with a script' 2025-11-25 08:56:04.381991 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.381997 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.382002 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.382008 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.382016 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.382028 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.382034 | controller | - ' # it is an image' 2025-11-25 08:56:04.382040 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.382046 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.382051 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.382057 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.382063 | controller | - ' case $NAME in' 2025-11-25 08:56:04.382069 | controller | - ' API)' 2025-11-25 08:56:04.382075 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.382080 | controller | - ' ;;' 2025-11-25 08:56:04.382086 | controller | - ' esac' 2025-11-25 08:56:04.382092 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.382115 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.382126 | controller | - ' exit 1' 2025-11-25 08:56:04.382140 | controller | - ' fi' 2025-11-25 08:56:04.382154 | controller | - ' fi' 2025-11-25 08:56:04.382162 | controller | - ' done' 2025-11-25 08:56:04.382180 | controller | - ' ]' 2025-11-25 08:56:04.382189 | controller | - ' logger.go:42: 08:49:01 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.382197 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.382204 | controller | rely on' 2025-11-25 08:56:04.382212 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.382225 | controller | and checks that' 2025-11-25 08:56:04.382233 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.382241 | controller | pattern' 2025-11-25 08:56:04.382249 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.382257 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.382265 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.382272 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.382280 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.382287 | controller | - ' exit 0' 2025-11-25 08:56:04.382295 | controller | - ' else' 2025-11-25 08:56:04.382302 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.382309 | controller | - ' exit 1' 2025-11-25 08:56:04.382316 | controller | - ' fi' 2025-11-25 08:56:04.382323 | controller | - ' ' 2025-11-25 08:56:04.382329 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.382335 | controller | them with a script' 2025-11-25 08:56:04.382341 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.382346 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.382352 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.382358 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.382364 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.382376 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.382381 | controller | - ' # it is an image' 2025-11-25 08:56:04.382387 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.382393 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.382406 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.382412 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.382418 | controller | - ' case $NAME in' 2025-11-25 08:56:04.382424 | controller | - ' API)' 2025-11-25 08:56:04.382429 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.382435 | controller | - ' ;;' 2025-11-25 08:56:04.382441 | controller | - ' esac' 2025-11-25 08:56:04.382447 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.382453 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.382459 | controller | - ' exit 1' 2025-11-25 08:56:04.382464 | controller | - ' fi' 2025-11-25 08:56:04.382470 | controller | - ' fi' 2025-11-25 08:56:04.382476 | controller | - ' done' 2025-11-25 08:56:04.382482 | controller | - ' ]' 2025-11-25 08:56:04.382488 | controller | - ' logger.go:42: 08:49:02 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.382493 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.382499 | controller | rely on' 2025-11-25 08:56:04.382505 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.382511 | controller | and checks that' 2025-11-25 08:56:04.382517 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.382523 | controller | pattern' 2025-11-25 08:56:04.382529 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.382537 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.382543 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.382549 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.382555 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.382561 | controller | - ' exit 0' 2025-11-25 08:56:04.382567 | controller | - ' else' 2025-11-25 08:56:04.382573 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.382578 | controller | - ' exit 1' 2025-11-25 08:56:04.382584 | controller | - ' fi' 2025-11-25 08:56:04.382590 | controller | - ' ' 2025-11-25 08:56:04.382596 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.382602 | controller | them with a script' 2025-11-25 08:56:04.382608 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.382613 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.382619 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.382625 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.382631 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.382642 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.382648 | controller | - ' # it is an image' 2025-11-25 08:56:04.382662 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.382669 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.382675 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.382681 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.382686 | controller | - ' case $NAME in' 2025-11-25 08:56:04.382692 | controller | - ' API)' 2025-11-25 08:56:04.382698 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.382704 | controller | - ' ;;' 2025-11-25 08:56:04.382710 | controller | - ' esac' 2025-11-25 08:56:04.382715 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.382721 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.382727 | controller | - ' exit 1' 2025-11-25 08:56:04.382733 | controller | - ' fi' 2025-11-25 08:56:04.382739 | controller | - ' fi' 2025-11-25 08:56:04.382745 | controller | - ' done' 2025-11-25 08:56:04.382750 | controller | - ' ]' 2025-11-25 08:56:04.382756 | controller | - ' logger.go:42: 08:49:04 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.382762 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.382768 | controller | rely on' 2025-11-25 08:56:04.382774 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.382780 | controller | and checks that' 2025-11-25 08:56:04.382788 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.382794 | controller | pattern' 2025-11-25 08:56:04.382800 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.382806 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.382812 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.382818 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.382824 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.382832 | controller | - ' exit 0' 2025-11-25 08:56:04.382838 | controller | - ' else' 2025-11-25 08:56:04.382844 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.382850 | controller | - ' exit 1' 2025-11-25 08:56:04.382856 | controller | - ' fi' 2025-11-25 08:56:04.382861 | controller | - ' ' 2025-11-25 08:56:04.382867 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.382873 | controller | them with a script' 2025-11-25 08:56:04.382879 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.382885 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.382890 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.382896 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.382902 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.382914 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.382920 | controller | - ' # it is an image' 2025-11-25 08:56:04.382925 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.382931 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.382937 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.382945 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.382951 | controller | - ' case $NAME in' 2025-11-25 08:56:04.382957 | controller | - ' API)' 2025-11-25 08:56:04.382963 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.382969 | controller | - ' ;;' 2025-11-25 08:56:04.382975 | controller | - ' esac' 2025-11-25 08:56:04.382980 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.382986 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.382992 | controller | - ' exit 1' 2025-11-25 08:56:04.382998 | controller | - ' fi' 2025-11-25 08:56:04.383004 | controller | - ' fi' 2025-11-25 08:56:04.383009 | controller | - ' done' 2025-11-25 08:56:04.383015 | controller | - ' ]' 2025-11-25 08:56:04.383021 | controller | - ' logger.go:42: 08:49:05 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.383027 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.383033 | controller | rely on' 2025-11-25 08:56:04.383039 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.383044 | controller | and checks that' 2025-11-25 08:56:04.383050 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.383056 | controller | pattern' 2025-11-25 08:56:04.383062 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.383068 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.383073 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.383079 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.383085 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.383091 | controller | - ' exit 0' 2025-11-25 08:56:04.383113 | controller | - ' else' 2025-11-25 08:56:04.383146 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.383162 | controller | - ' exit 1' 2025-11-25 08:56:04.383168 | controller | - ' fi' 2025-11-25 08:56:04.383174 | controller | - ' ' 2025-11-25 08:56:04.383180 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.383189 | controller | them with a script' 2025-11-25 08:56:04.383194 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.383200 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.383206 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.383212 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.383218 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.383230 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.383235 | controller | - ' # it is an image' 2025-11-25 08:56:04.383241 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.383247 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.383253 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.383281 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.383288 | controller | - ' case $NAME in' 2025-11-25 08:56:04.383295 | controller | - ' API)' 2025-11-25 08:56:04.383302 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.383308 | controller | - ' ;;' 2025-11-25 08:56:04.383314 | controller | - ' esac' 2025-11-25 08:56:04.383321 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.383327 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.383334 | controller | - ' exit 1' 2025-11-25 08:56:04.383340 | controller | - ' fi' 2025-11-25 08:56:04.383347 | controller | - ' fi' 2025-11-25 08:56:04.383353 | controller | - ' done' 2025-11-25 08:56:04.383360 | controller | - ' ]' 2025-11-25 08:56:04.383366 | controller | - ' logger.go:42: 08:49:06 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.383373 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.383379 | controller | rely on' 2025-11-25 08:56:04.383386 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.383392 | controller | and checks that' 2025-11-25 08:56:04.383399 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.383405 | controller | pattern' 2025-11-25 08:56:04.383412 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.383418 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.383425 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.383431 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.383441 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.383447 | controller | - ' exit 0' 2025-11-25 08:56:04.383454 | controller | - ' else' 2025-11-25 08:56:04.383460 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.383467 | controller | - ' exit 1' 2025-11-25 08:56:04.383473 | controller | - ' fi' 2025-11-25 08:56:04.383480 | controller | - ' ' 2025-11-25 08:56:04.383486 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.383493 | controller | them with a script' 2025-11-25 08:56:04.383499 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.383506 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.383512 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.383521 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.383527 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.383539 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.383545 | controller | - ' # it is an image' 2025-11-25 08:56:04.383551 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.383557 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.383562 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.383568 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.383574 | controller | - ' case $NAME in' 2025-11-25 08:56:04.383580 | controller | - ' API)' 2025-11-25 08:56:04.383586 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.383592 | controller | - ' ;;' 2025-11-25 08:56:04.383597 | controller | - ' esac' 2025-11-25 08:56:04.383603 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.383609 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.383615 | controller | - ' exit 1' 2025-11-25 08:56:04.383621 | controller | - ' fi' 2025-11-25 08:56:04.383627 | controller | - ' fi' 2025-11-25 08:56:04.383632 | controller | - ' done' 2025-11-25 08:56:04.383638 | controller | - ' ]' 2025-11-25 08:56:04.383644 | controller | - ' logger.go:42: 08:49:07 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.383650 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.383656 | controller | rely on' 2025-11-25 08:56:04.383668 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.383675 | controller | and checks that' 2025-11-25 08:56:04.383681 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.383687 | controller | pattern' 2025-11-25 08:56:04.383693 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.383698 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.383704 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.383710 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.383716 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.383722 | controller | - ' exit 0' 2025-11-25 08:56:04.383728 | controller | - ' else' 2025-11-25 08:56:04.383734 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.383739 | controller | - ' exit 1' 2025-11-25 08:56:04.383745 | controller | - ' fi' 2025-11-25 08:56:04.383751 | controller | - ' ' 2025-11-25 08:56:04.383757 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.383763 | controller | them with a script' 2025-11-25 08:56:04.383769 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.383774 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.383780 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.383786 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.383792 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.383805 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.383817 | controller | - ' # it is an image' 2025-11-25 08:56:04.383825 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.383832 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.383840 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.383848 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.383855 | controller | - ' case $NAME in' 2025-11-25 08:56:04.383863 | controller | - ' API)' 2025-11-25 08:56:04.383870 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.383876 | controller | - ' ;;' 2025-11-25 08:56:04.383882 | controller | - ' esac' 2025-11-25 08:56:04.383888 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.383894 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.383900 | controller | - ' exit 1' 2025-11-25 08:56:04.383906 | controller | - ' fi' 2025-11-25 08:56:04.383914 | controller | - ' fi' 2025-11-25 08:56:04.383921 | controller | - ' done' 2025-11-25 08:56:04.383929 | controller | - ' ]' 2025-11-25 08:56:04.383936 | controller | - ' logger.go:42: 08:49:08 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.383944 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.383951 | controller | rely on' 2025-11-25 08:56:04.383957 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.383963 | controller | and checks that' 2025-11-25 08:56:04.383968 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.383974 | controller | pattern' 2025-11-25 08:56:04.383980 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.383986 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.383992 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.383997 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.384003 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.384009 | controller | - ' exit 0' 2025-11-25 08:56:04.384015 | controller | - ' else' 2025-11-25 08:56:04.384021 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.384027 | controller | - ' exit 1' 2025-11-25 08:56:04.384036 | controller | - ' fi' 2025-11-25 08:56:04.384042 | controller | - ' ' 2025-11-25 08:56:04.384048 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.384054 | controller | them with a script' 2025-11-25 08:56:04.384060 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.384065 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.384071 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.384077 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.384083 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.384094 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.384116 | controller | - ' # it is an image' 2025-11-25 08:56:04.384126 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.384132 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.384138 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.384155 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.384162 | controller | - ' case $NAME in' 2025-11-25 08:56:04.384170 | controller | - ' API)' 2025-11-25 08:56:04.384177 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.384185 | controller | - ' ;;' 2025-11-25 08:56:04.384192 | controller | - ' esac' 2025-11-25 08:56:04.384199 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.384206 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.384214 | controller | - ' exit 1' 2025-11-25 08:56:04.384221 | controller | - ' fi' 2025-11-25 08:56:04.384229 | controller | - ' fi' 2025-11-25 08:56:04.384236 | controller | - ' done' 2025-11-25 08:56:04.384243 | controller | - ' ]' 2025-11-25 08:56:04.384251 | controller | - ' logger.go:42: 08:49:10 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.384258 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.384264 | controller | rely on' 2025-11-25 08:56:04.384270 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.384276 | controller | and checks that' 2025-11-25 08:56:04.384285 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.384291 | controller | pattern' 2025-11-25 08:56:04.384297 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.384303 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.384309 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.384315 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.384321 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.384327 | controller | - ' exit 0' 2025-11-25 08:56:04.384333 | controller | - ' else' 2025-11-25 08:56:04.384338 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.384344 | controller | - ' exit 1' 2025-11-25 08:56:04.384350 | controller | - ' fi' 2025-11-25 08:56:04.384356 | controller | - ' ' 2025-11-25 08:56:04.384362 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.384368 | controller | them with a script' 2025-11-25 08:56:04.384373 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.384379 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.384385 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.384391 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.384397 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.384409 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.384414 | controller | - ' # it is an image' 2025-11-25 08:56:04.384423 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.384429 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.384435 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.384441 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.384447 | controller | - ' case $NAME in' 2025-11-25 08:56:04.384453 | controller | - ' API)' 2025-11-25 08:56:04.384459 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.384465 | controller | - ' ;;' 2025-11-25 08:56:04.384470 | controller | - ' esac' 2025-11-25 08:56:04.384484 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.384509 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.384515 | controller | - ' exit 1' 2025-11-25 08:56:04.384521 | controller | - ' fi' 2025-11-25 08:56:04.384527 | controller | - ' fi' 2025-11-25 08:56:04.384533 | controller | - ' done' 2025-11-25 08:56:04.384539 | controller | - ' ]' 2025-11-25 08:56:04.384545 | controller | - ' logger.go:42: 08:49:11 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.384551 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.384556 | controller | rely on' 2025-11-25 08:56:04.384562 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.384568 | controller | and checks that' 2025-11-25 08:56:04.384574 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.384580 | controller | pattern' 2025-11-25 08:56:04.384586 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.384592 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.384598 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.384603 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.384609 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.384615 | controller | - ' exit 0' 2025-11-25 08:56:04.384621 | controller | - ' else' 2025-11-25 08:56:04.384627 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.384633 | controller | - ' exit 1' 2025-11-25 08:56:04.384639 | controller | - ' fi' 2025-11-25 08:56:04.384644 | controller | - ' ' 2025-11-25 08:56:04.384650 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.384656 | controller | them with a script' 2025-11-25 08:56:04.384671 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.384677 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.384683 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.384689 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.384695 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.384707 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.384712 | controller | - ' # it is an image' 2025-11-25 08:56:04.384718 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.384724 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.384730 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.384736 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.384741 | controller | - ' case $NAME in' 2025-11-25 08:56:04.384747 | controller | - ' API)' 2025-11-25 08:56:04.384753 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.384759 | controller | - ' ;;' 2025-11-25 08:56:04.384765 | controller | - ' esac' 2025-11-25 08:56:04.384771 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.384776 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.384782 | controller | - ' exit 1' 2025-11-25 08:56:04.384788 | controller | - ' fi' 2025-11-25 08:56:04.384794 | controller | - ' fi' 2025-11-25 08:56:04.384800 | controller | - ' done' 2025-11-25 08:56:04.384809 | controller | - ' ]' 2025-11-25 08:56:04.384815 | controller | - ' logger.go:42: 08:49:12 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.384820 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.384826 | controller | rely on' 2025-11-25 08:56:04.384832 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.384838 | controller | and checks that' 2025-11-25 08:56:04.384844 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.384850 | controller | pattern' 2025-11-25 08:56:04.384856 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.384861 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.384867 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.384873 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.384879 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.384885 | controller | - ' exit 0' 2025-11-25 08:56:04.384891 | controller | - ' else' 2025-11-25 08:56:04.384897 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.384902 | controller | - ' exit 1' 2025-11-25 08:56:04.384908 | controller | - ' fi' 2025-11-25 08:56:04.384914 | controller | - ' ' 2025-11-25 08:56:04.384920 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.384926 | controller | them with a script' 2025-11-25 08:56:04.384932 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.384938 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.384943 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.384949 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.384955 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.384967 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.384973 | controller | - ' # it is an image' 2025-11-25 08:56:04.384979 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.384985 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.384990 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.384996 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.385002 | controller | - ' case $NAME in' 2025-11-25 08:56:04.385008 | controller | - ' API)' 2025-11-25 08:56:04.385014 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.385020 | controller | - ' ;;' 2025-11-25 08:56:04.385025 | controller | - ' esac' 2025-11-25 08:56:04.385031 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.385037 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.385043 | controller | - ' exit 1' 2025-11-25 08:56:04.385049 | controller | - ' fi' 2025-11-25 08:56:04.385055 | controller | - ' fi' 2025-11-25 08:56:04.385061 | controller | - ' done' 2025-11-25 08:56:04.385067 | controller | - ' ]' 2025-11-25 08:56:04.385073 | controller | - ' logger.go:42: 08:49:13 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.385078 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.385084 | controller | rely on' 2025-11-25 08:56:04.385090 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.385114 | controller | and checks that' 2025-11-25 08:56:04.385123 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.385129 | controller | pattern' 2025-11-25 08:56:04.385142 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.385151 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.385157 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.385163 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.385169 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.385174 | controller | - ' exit 0' 2025-11-25 08:56:04.385180 | controller | - ' else' 2025-11-25 08:56:04.385186 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.385192 | controller | - ' exit 1' 2025-11-25 08:56:04.385198 | controller | - ' fi' 2025-11-25 08:56:04.385203 | controller | - ' ' 2025-11-25 08:56:04.385209 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.385215 | controller | them with a script' 2025-11-25 08:56:04.385223 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.385229 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.385235 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.385241 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.385247 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.385259 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.385265 | controller | - ' # it is an image' 2025-11-25 08:56:04.385270 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.385276 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.385282 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.385288 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.385294 | controller | - ' case $NAME in' 2025-11-25 08:56:04.385299 | controller | - ' API)' 2025-11-25 08:56:04.385305 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.385311 | controller | - ' ;;' 2025-11-25 08:56:04.385317 | controller | - ' esac' 2025-11-25 08:56:04.385325 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.385331 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.385338 | controller | - ' exit 1' 2025-11-25 08:56:04.385345 | controller | - ' fi' 2025-11-25 08:56:04.385351 | controller | - ' fi' 2025-11-25 08:56:04.385357 | controller | - ' done' 2025-11-25 08:56:04.385363 | controller | - ' ]' 2025-11-25 08:56:04.385368 | controller | - ' logger.go:42: 08:49:14 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.385374 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.385380 | controller | rely on' 2025-11-25 08:56:04.385389 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.385395 | controller | and checks that' 2025-11-25 08:56:04.385401 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.385407 | controller | pattern' 2025-11-25 08:56:04.385412 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.385421 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.385427 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.385433 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.385438 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.385444 | controller | - ' exit 0' 2025-11-25 08:56:04.385450 | controller | - ' else' 2025-11-25 08:56:04.385456 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.385462 | controller | - ' exit 1' 2025-11-25 08:56:04.385468 | controller | - ' fi' 2025-11-25 08:56:04.385473 | controller | - ' ' 2025-11-25 08:56:04.385479 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.385485 | controller | them with a script' 2025-11-25 08:56:04.385491 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.385497 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.385503 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.385508 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.385514 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.385526 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.385532 | controller | - ' # it is an image' 2025-11-25 08:56:04.385538 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.385543 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.385549 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.385555 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.385561 | controller | - ' case $NAME in' 2025-11-25 08:56:04.385567 | controller | - ' API)' 2025-11-25 08:56:04.385573 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.385578 | controller | - ' ;;' 2025-11-25 08:56:04.385584 | controller | - ' esac' 2025-11-25 08:56:04.385596 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.385602 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.385608 | controller | - ' exit 1' 2025-11-25 08:56:04.385615 | controller | - ' fi' 2025-11-25 08:56:04.385626 | controller | - ' fi' 2025-11-25 08:56:04.385641 | controller | - ' done' 2025-11-25 08:56:04.385649 | controller | - ' ]' 2025-11-25 08:56:04.385657 | controller | - ' logger.go:42: 08:49:16 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.385664 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.385671 | controller | rely on' 2025-11-25 08:56:04.385679 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.385687 | controller | and checks that' 2025-11-25 08:56:04.385694 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.385701 | controller | pattern' 2025-11-25 08:56:04.385708 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.385715 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.385722 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.385728 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.385734 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.385744 | controller | - ' exit 0' 2025-11-25 08:56:04.385750 | controller | - ' else' 2025-11-25 08:56:04.385756 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.385762 | controller | - ' exit 1' 2025-11-25 08:56:04.385768 | controller | - ' fi' 2025-11-25 08:56:04.385774 | controller | - ' ' 2025-11-25 08:56:04.385779 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.385785 | controller | them with a script' 2025-11-25 08:56:04.385791 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.385797 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.385803 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.385809 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.385814 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.385826 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.385832 | controller | - ' # it is an image' 2025-11-25 08:56:04.385838 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.385843 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.385849 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.385855 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.385861 | controller | - ' case $NAME in' 2025-11-25 08:56:04.385867 | controller | - ' API)' 2025-11-25 08:56:04.385873 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.385878 | controller | - ' ;;' 2025-11-25 08:56:04.385884 | controller | - ' esac' 2025-11-25 08:56:04.385890 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.385896 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.385902 | controller | - ' exit 1' 2025-11-25 08:56:04.385914 | controller | - ' fi' 2025-11-25 08:56:04.385920 | controller | - ' fi' 2025-11-25 08:56:04.385926 | controller | - ' done' 2025-11-25 08:56:04.385931 | controller | - ' ]' 2025-11-25 08:56:04.385937 | controller | - ' logger.go:42: 08:49:17 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.385943 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.385949 | controller | rely on' 2025-11-25 08:56:04.385956 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.385963 | controller | and checks that' 2025-11-25 08:56:04.385971 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.385979 | controller | pattern' 2025-11-25 08:56:04.385987 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.385994 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.386002 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.386009 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.386015 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.386021 | controller | - ' exit 0' 2025-11-25 08:56:04.386027 | controller | - ' else' 2025-11-25 08:56:04.386033 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.386038 | controller | - ' exit 1' 2025-11-25 08:56:04.386044 | controller | - ' fi' 2025-11-25 08:56:04.386050 | controller | - ' ' 2025-11-25 08:56:04.386056 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.386068 | controller | them with a script' 2025-11-25 08:56:04.386076 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.386084 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.386091 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.386116 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.386135 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.386149 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.386157 | controller | - ' # it is an image' 2025-11-25 08:56:04.386165 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.386172 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.386180 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.386188 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.386195 | controller | - ' case $NAME in' 2025-11-25 08:56:04.386203 | controller | - ' API)' 2025-11-25 08:56:04.386210 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.386216 | controller | - ' ;;' 2025-11-25 08:56:04.386221 | controller | - ' esac' 2025-11-25 08:56:04.386227 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.386233 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.386239 | controller | - ' exit 1' 2025-11-25 08:56:04.386247 | controller | - ' fi' 2025-11-25 08:56:04.386255 | controller | - ' fi' 2025-11-25 08:56:04.386263 | controller | - ' done' 2025-11-25 08:56:04.386270 | controller | - ' ]' 2025-11-25 08:56:04.386278 | controller | - ' logger.go:42: 08:49:18 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.386285 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.386293 | controller | rely on' 2025-11-25 08:56:04.386300 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.386308 | controller | and checks that' 2025-11-25 08:56:04.386315 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.386321 | controller | pattern' 2025-11-25 08:56:04.386328 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.386335 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.386343 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.386351 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.386359 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.386366 | controller | - ' exit 0' 2025-11-25 08:56:04.386374 | controller | - ' else' 2025-11-25 08:56:04.386381 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.386389 | controller | - ' exit 1' 2025-11-25 08:56:04.386396 | controller | - ' fi' 2025-11-25 08:56:04.386404 | controller | - ' ' 2025-11-25 08:56:04.386411 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.386419 | controller | them with a script' 2025-11-25 08:56:04.386427 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.386434 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.386442 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.386454 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.386462 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.386476 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.386484 | controller | - ' # it is an image' 2025-11-25 08:56:04.386491 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.386499 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.386507 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.386514 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.386522 | controller | - ' case $NAME in' 2025-11-25 08:56:04.386530 | controller | - ' API)' 2025-11-25 08:56:04.386537 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.386545 | controller | - ' ;;' 2025-11-25 08:56:04.386552 | controller | - ' esac' 2025-11-25 08:56:04.386564 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.386571 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.386579 | controller | - ' exit 1' 2025-11-25 08:56:04.386587 | controller | - ' fi' 2025-11-25 08:56:04.386594 | controller | - ' fi' 2025-11-25 08:56:04.386602 | controller | - ' done' 2025-11-25 08:56:04.386609 | controller | - ' ]' 2025-11-25 08:56:04.386617 | controller | - ' logger.go:42: 08:49:19 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.386627 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.386635 | controller | rely on' 2025-11-25 08:56:04.386642 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.386650 | controller | and checks that' 2025-11-25 08:56:04.386657 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.386665 | controller | pattern' 2025-11-25 08:56:04.386672 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.386680 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.386687 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.386703 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.386710 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.386718 | controller | - ' exit 0' 2025-11-25 08:56:04.386726 | controller | - ' else' 2025-11-25 08:56:04.386734 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.386742 | controller | - ' exit 1' 2025-11-25 08:56:04.386749 | controller | - ' fi' 2025-11-25 08:56:04.386756 | controller | - ' ' 2025-11-25 08:56:04.386764 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.386771 | controller | them with a script' 2025-11-25 08:56:04.386778 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.386786 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.386794 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.386801 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.386809 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.386824 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.386832 | controller | - ' # it is an image' 2025-11-25 08:56:04.386847 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.386858 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.386865 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.386873 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.386880 | controller | - ' case $NAME in' 2025-11-25 08:56:04.386888 | controller | - ' API)' 2025-11-25 08:56:04.386895 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.386903 | controller | - ' ;;' 2025-11-25 08:56:04.386910 | controller | - ' esac' 2025-11-25 08:56:04.386918 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.386925 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.386933 | controller | - ' exit 1' 2025-11-25 08:56:04.386940 | controller | - ' fi' 2025-11-25 08:56:04.386948 | controller | - ' fi' 2025-11-25 08:56:04.386955 | controller | - ' done' 2025-11-25 08:56:04.386963 | controller | - ' ]' 2025-11-25 08:56:04.386970 | controller | - ' logger.go:42: 08:49:20 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.386978 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.386985 | controller | rely on' 2025-11-25 08:56:04.386992 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.387000 | controller | and checks that' 2025-11-25 08:56:04.387007 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.387013 | controller | pattern' 2025-11-25 08:56:04.387019 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.387024 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.387030 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.387036 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.387042 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.387048 | controller | - ' exit 0' 2025-11-25 08:56:04.387053 | controller | - ' else' 2025-11-25 08:56:04.387059 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.387065 | controller | - ' exit 1' 2025-11-25 08:56:04.387071 | controller | - ' fi' 2025-11-25 08:56:04.387077 | controller | - ' ' 2025-11-25 08:56:04.387082 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.387088 | controller | them with a script' 2025-11-25 08:56:04.387094 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.387120 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.387127 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.387132 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.387138 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.387150 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.387156 | controller | - ' # it is an image' 2025-11-25 08:56:04.387162 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.387167 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.387173 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.387179 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.387188 | controller | - ' case $NAME in' 2025-11-25 08:56:04.387194 | controller | - ' API)' 2025-11-25 08:56:04.387200 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.387206 | controller | - ' ;;' 2025-11-25 08:56:04.387212 | controller | - ' esac' 2025-11-25 08:56:04.387218 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.387223 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.387229 | controller | - ' exit 1' 2025-11-25 08:56:04.387235 | controller | - ' fi' 2025-11-25 08:56:04.387241 | controller | - ' fi' 2025-11-25 08:56:04.387247 | controller | - ' done' 2025-11-25 08:56:04.387253 | controller | - ' ]' 2025-11-25 08:56:04.387267 | controller | - ' logger.go:42: 08:49:22 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.387286 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.387292 | controller | rely on' 2025-11-25 08:56:04.387298 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.387304 | controller | and checks that' 2025-11-25 08:56:04.387310 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.387317 | controller | pattern' 2025-11-25 08:56:04.387324 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.387330 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.387337 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.387344 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.387350 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.387356 | controller | - ' exit 0' 2025-11-25 08:56:04.387361 | controller | - ' else' 2025-11-25 08:56:04.387367 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.387373 | controller | - ' exit 1' 2025-11-25 08:56:04.387379 | controller | - ' fi' 2025-11-25 08:56:04.387385 | controller | - ' ' 2025-11-25 08:56:04.387391 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.387396 | controller | them with a script' 2025-11-25 08:56:04.387402 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.387408 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.387414 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.387420 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.387426 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.387437 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.387443 | controller | - ' # it is an image' 2025-11-25 08:56:04.387453 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.387459 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.387465 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.387470 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.387476 | controller | - ' case $NAME in' 2025-11-25 08:56:04.387482 | controller | - ' API)' 2025-11-25 08:56:04.387488 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.387494 | controller | - ' ;;' 2025-11-25 08:56:04.387500 | controller | - ' esac' 2025-11-25 08:56:04.387508 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.387514 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.387520 | controller | - ' exit 1' 2025-11-25 08:56:04.387526 | controller | - ' fi' 2025-11-25 08:56:04.387532 | controller | - ' fi' 2025-11-25 08:56:04.387538 | controller | - ' done' 2025-11-25 08:56:04.387543 | controller | - ' ]' 2025-11-25 08:56:04.387549 | controller | - ' logger.go:42: 08:49:23 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.387555 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.387561 | controller | rely on' 2025-11-25 08:56:04.387567 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.387573 | controller | and checks that' 2025-11-25 08:56:04.387579 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.387585 | controller | pattern' 2025-11-25 08:56:04.387591 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.387596 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.387602 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.387608 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.387614 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.387620 | controller | - ' exit 0' 2025-11-25 08:56:04.387626 | controller | - ' else' 2025-11-25 08:56:04.387632 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.387637 | controller | - ' exit 1' 2025-11-25 08:56:04.387643 | controller | - ' fi' 2025-11-25 08:56:04.387649 | controller | - ' ' 2025-11-25 08:56:04.387655 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.387661 | controller | them with a script' 2025-11-25 08:56:04.387666 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.387672 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.387678 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.387684 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.387690 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.387701 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.387707 | controller | - ' # it is an image' 2025-11-25 08:56:04.387719 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.387726 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.387732 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.387737 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.387746 | controller | - ' case $NAME in' 2025-11-25 08:56:04.387752 | controller | - ' API)' 2025-11-25 08:56:04.387758 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.387764 | controller | - ' ;;' 2025-11-25 08:56:04.387769 | controller | - ' esac' 2025-11-25 08:56:04.387775 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.387781 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.387787 | controller | - ' exit 1' 2025-11-25 08:56:04.387793 | controller | - ' fi' 2025-11-25 08:56:04.387799 | controller | - ' fi' 2025-11-25 08:56:04.387804 | controller | - ' done' 2025-11-25 08:56:04.387813 | controller | - ' ]' 2025-11-25 08:56:04.387828 | controller | - ' logger.go:42: 08:49:24 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.387835 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.387840 | controller | rely on' 2025-11-25 08:56:04.387846 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.387852 | controller | and checks that' 2025-11-25 08:56:04.387858 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.387864 | controller | pattern' 2025-11-25 08:56:04.387870 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.387875 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.387881 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.387887 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.387893 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.387899 | controller | - ' exit 0' 2025-11-25 08:56:04.387905 | controller | - ' else' 2025-11-25 08:56:04.387910 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.387916 | controller | - ' exit 1' 2025-11-25 08:56:04.387922 | controller | - ' fi' 2025-11-25 08:56:04.387928 | controller | - ' ' 2025-11-25 08:56:04.387934 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.387940 | controller | them with a script' 2025-11-25 08:56:04.387945 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.387951 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.387957 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.387963 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.387969 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.387980 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.387986 | controller | - ' # it is an image' 2025-11-25 08:56:04.387992 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.387998 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.388004 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.388010 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.388016 | controller | - ' case $NAME in' 2025-11-25 08:56:04.388021 | controller | - ' API)' 2025-11-25 08:56:04.388027 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.388033 | controller | - ' ;;' 2025-11-25 08:56:04.388039 | controller | - ' esac' 2025-11-25 08:56:04.388045 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.388051 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.388056 | controller | - ' exit 1' 2025-11-25 08:56:04.388062 | controller | - ' fi' 2025-11-25 08:56:04.388068 | controller | - ' fi' 2025-11-25 08:56:04.388074 | controller | - ' done' 2025-11-25 08:56:04.388080 | controller | - ' ]' 2025-11-25 08:56:04.388086 | controller | - ' logger.go:42: 08:49:25 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.388092 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.388111 | controller | rely on' 2025-11-25 08:56:04.388120 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.388129 | controller | and checks that' 2025-11-25 08:56:04.388134 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.388140 | controller | pattern' 2025-11-25 08:56:04.388146 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.388152 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.388158 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.388164 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.388170 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.388175 | controller | - ' exit 0' 2025-11-25 08:56:04.388181 | controller | - ' else' 2025-11-25 08:56:04.388187 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.388193 | controller | - ' exit 1' 2025-11-25 08:56:04.388205 | controller | - ' fi' 2025-11-25 08:56:04.388212 | controller | - ' ' 2025-11-25 08:56:04.388218 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.388224 | controller | them with a script' 2025-11-25 08:56:04.388230 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.388236 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.388242 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.388248 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.388254 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.388265 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.388271 | controller | - ' # it is an image' 2025-11-25 08:56:04.388277 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.388283 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.388289 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.388294 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.388300 | controller | - ' case $NAME in' 2025-11-25 08:56:04.388306 | controller | - ' API)' 2025-11-25 08:56:04.388312 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.388318 | controller | - ' ;;' 2025-11-25 08:56:04.388323 | controller | - ' esac' 2025-11-25 08:56:04.388329 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.388335 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.388341 | controller | - ' exit 1' 2025-11-25 08:56:04.388347 | controller | - ' fi' 2025-11-25 08:56:04.388353 | controller | - ' fi' 2025-11-25 08:56:04.388358 | controller | - ' done' 2025-11-25 08:56:04.388364 | controller | - ' ]' 2025-11-25 08:56:04.388370 | controller | - ' logger.go:42: 08:49:27 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.388376 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.388382 | controller | rely on' 2025-11-25 08:56:04.388388 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.388394 | controller | and checks that' 2025-11-25 08:56:04.388399 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.388405 | controller | pattern' 2025-11-25 08:56:04.388411 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.388417 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.388429 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.388436 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.388444 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.388452 | controller | - ' exit 0' 2025-11-25 08:56:04.388460 | controller | - ' else' 2025-11-25 08:56:04.388468 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.388476 | controller | - ' exit 1' 2025-11-25 08:56:04.388483 | controller | - ' fi' 2025-11-25 08:56:04.388491 | controller | - ' ' 2025-11-25 08:56:04.388498 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.388505 | controller | them with a script' 2025-11-25 08:56:04.388512 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.388518 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.388524 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.388530 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.388536 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.388548 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.388554 | controller | - ' # it is an image' 2025-11-25 08:56:04.388559 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.388565 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.388571 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.388577 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.388583 | controller | - ' case $NAME in' 2025-11-25 08:56:04.388589 | controller | - ' API)' 2025-11-25 08:56:04.388594 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.388600 | controller | - ' ;;' 2025-11-25 08:56:04.388606 | controller | - ' esac' 2025-11-25 08:56:04.388612 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.388618 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.388624 | controller | - ' exit 1' 2025-11-25 08:56:04.388629 | controller | - ' fi' 2025-11-25 08:56:04.388635 | controller | - ' fi' 2025-11-25 08:56:04.388641 | controller | - ' done' 2025-11-25 08:56:04.388647 | controller | - ' ]' 2025-11-25 08:56:04.388653 | controller | - ' logger.go:42: 08:49:28 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 08:56:04.388658 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.388664 | controller | rely on' 2025-11-25 08:56:04.388681 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.388687 | controller | and checks that' 2025-11-25 08:56:04.388693 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.388699 | controller | pattern' 2025-11-25 08:56:04.388705 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.388711 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.388716 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.388722 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.388728 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.388740 | controller | - ' exit 0' 2025-11-25 08:56:04.388746 | controller | - ' else' 2025-11-25 08:56:04.388752 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.388758 | controller | - ' exit 1' 2025-11-25 08:56:04.388764 | controller | - ' fi' 2025-11-25 08:56:04.388769 | controller | - ' ' 2025-11-25 08:56:04.388775 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.388781 | controller | them with a script' 2025-11-25 08:56:04.388787 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.388793 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.388799 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.388804 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.388810 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.388822 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.388830 | controller | - ' # it is an image' 2025-11-25 08:56:04.388836 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.388842 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.388848 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.388854 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.388859 | controller | - ' case $NAME in' 2025-11-25 08:56:04.388865 | controller | - ' API)' 2025-11-25 08:56:04.388871 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.388877 | controller | - ' ;;' 2025-11-25 08:56:04.388886 | controller | - ' esac' 2025-11-25 08:56:04.388892 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.388898 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.388903 | controller | - ' exit 1' 2025-11-25 08:56:04.388909 | controller | - ' fi' 2025-11-25 08:56:04.388915 | controller | - ' fi' 2025-11-25 08:56:04.388921 | controller | - ' done' 2025-11-25 08:56:04.388927 | controller | - ' ]' 2025-11-25 08:56:04.388933 | controller | - ' logger.go:42: 08:49:28 | keystone_scale/0-deploy_keystone | test step completed 2025-11-25 08:56:04.388939 | controller | 0-deploy_keystone' 2025-11-25 08:56:04.388949 | controller | - ' logger.go:42: 08:49:28 | keystone_scale/1-scale-keystoneapi | starting test 2025-11-25 08:56:04.388955 | controller | step 1-scale-keystoneapi' 2025-11-25 08:56:04.388961 | controller | - ' logger.go:42: 08:49:28 | keystone_scale/1-scale-keystoneapi | running command: 2025-11-25 08:56:04.388967 | controller | [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type=''json'' -p=''[{"op": 2025-11-25 08:56:04.388973 | controller | "replace", "path": "/spec/replicas", "value":3}]''' 2025-11-25 08:56:04.388979 | controller | - ' ]' 2025-11-25 08:56:04.388985 | controller | - ' logger.go:42: 08:49:28 | keystone_scale/1-scale-keystoneapi | keystoneapi.keystone.openstack.org/keystone 2025-11-25 08:56:04.388991 | controller | patched' 2025-11-25 08:56:04.388996 | controller | - ' logger.go:42: 08:50:01 | keystone_scale/1-scale-keystoneapi | test step completed 2025-11-25 08:56:04.389002 | controller | 1-scale-keystoneapi' 2025-11-25 08:56:04.389008 | controller | - ' logger.go:42: 08:50:01 | keystone_scale/2-scale-down-keystoneapi | starting 2025-11-25 08:56:04.389014 | controller | test step 2-scale-down-keystoneapi' 2025-11-25 08:56:04.389020 | controller | - ' logger.go:42: 08:50:01 | keystone_scale/2-scale-down-keystoneapi | running 2025-11-25 08:56:04.389026 | controller | command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type=''json'' -p=''[{"op": 2025-11-25 08:56:04.389032 | controller | "replace", "path": "/spec/replicas", "value":1}]''' 2025-11-25 08:56:04.389040 | controller | - ' ]' 2025-11-25 08:56:04.389046 | controller | - ' logger.go:42: 08:50:01 | keystone_scale/2-scale-down-keystoneapi | keystoneapi.keystone.openstack.org/keystone 2025-11-25 08:56:04.389052 | controller | patched' 2025-11-25 08:56:04.389058 | controller | - ' logger.go:42: 08:50:02 | keystone_scale/2-scale-down-keystoneapi | test step 2025-11-25 08:56:04.389064 | controller | completed 2-scale-down-keystoneapi' 2025-11-25 08:56:04.389070 | controller | - ' logger.go:42: 08:50:02 | keystone_scale/3-scale-down-zero-keystoneapi | starting 2025-11-25 08:56:04.389075 | controller | test step 3-scale-down-zero-keystoneapi' 2025-11-25 08:56:04.389081 | controller | - ' logger.go:42: 08:50:02 | keystone_scale/3-scale-down-zero-keystoneapi | running 2025-11-25 08:56:04.389087 | controller | command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type=''json'' -p=''[{"op": 2025-11-25 08:56:04.389099 | controller | "replace", "path": "/spec/replicas", "value":0}]''' 2025-11-25 08:56:04.389120 | controller | - ' ]' 2025-11-25 08:56:04.389127 | controller | - ' logger.go:42: 08:50:02 | keystone_scale/3-scale-down-zero-keystoneapi | keystoneapi.keystone.openstack.org/keystone 2025-11-25 08:56:04.389133 | controller | patched' 2025-11-25 08:56:04.389145 | controller | - ' logger.go:42: 08:50:06 | keystone_scale/3-scale-down-zero-keystoneapi | test 2025-11-25 08:56:04.389152 | controller | step completed 3-scale-down-zero-keystoneapi' 2025-11-25 08:56:04.389158 | controller | - ' logger.go:42: 08:50:06 | keystone_scale/4-cleanup-keystone | starting test 2025-11-25 08:56:04.389163 | controller | step 4-cleanup-keystone' 2025-11-25 08:56:04.389169 | controller | - ' logger.go:42: 08:50:07 | keystone_scale/4-cleanup-keystone | test step completed 2025-11-25 08:56:04.389175 | controller | 4-cleanup-keystone' 2025-11-25 08:56:04.389181 | controller | - ' logger.go:42: 08:50:07 | keystone_scale | skipping kubernetes event logging' 2025-11-25 08:56:04.389187 | controller | - === CONT kuttl/harness/keystone_tls 2025-11-25 08:56:04.389193 | controller | - ' logger.go:42: 08:50:07 | keystone_tls | Skipping creation of user-supplied 2025-11-25 08:56:04.389199 | controller | namespace: keystone-kuttl-tests' 2025-11-25 08:56:04.389204 | controller | - ' logger.go:42: 08:50:07 | keystone_tls/0-tls_ca_bundle | starting test step 2025-11-25 08:56:04.389210 | controller | 0-tls_ca_bundle' 2025-11-25 08:56:04.389216 | controller | - ' logger.go:42: 08:50:07 | keystone_tls/0-tls_ca_bundle | Secret:keystone-kuttl-tests/combined-ca-bundle 2025-11-25 08:56:04.389222 | controller | created' 2025-11-25 08:56:04.389228 | controller | - ' logger.go:42: 08:50:07 | keystone_tls/0-tls_ca_bundle | Secret:keystone-kuttl-tests/cert-keystone-internal-svc 2025-11-25 08:56:04.389234 | controller | created' 2025-11-25 08:56:04.389240 | controller | - ' logger.go:42: 08:50:07 | keystone_tls/0-tls_ca_bundle | Secret:keystone-kuttl-tests/cert-keystone-public-svc 2025-11-25 08:56:04.389245 | controller | created' 2025-11-25 08:56:04.389251 | controller | - ' logger.go:42: 08:50:07 | keystone_tls/0-tls_ca_bundle | test step completed 2025-11-25 08:56:04.389257 | controller | 0-tls_ca_bundle' 2025-11-25 08:56:04.389263 | controller | - ' logger.go:42: 08:50:07 | keystone_tls/1-keystoneapi_tls_deploy | starting test 2025-11-25 08:56:04.389269 | controller | step 1-keystoneapi_tls_deploy' 2025-11-25 08:56:04.389275 | controller | - ' logger.go:42: 08:50:07 | keystone_tls/1-keystoneapi_tls_deploy | KeystoneAPI:keystone-kuttl-tests/keystone 2025-11-25 08:56:04.389280 | controller | created' 2025-11-25 08:56:04.389286 | controller | - ' logger.go:42: 08:50:07 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.389292 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.389298 | controller | rely on' 2025-11-25 08:56:04.389304 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.389310 | controller | and checks that' 2025-11-25 08:56:04.389315 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.389321 | controller | pattern' 2025-11-25 08:56:04.389327 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.389336 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.389342 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.389348 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.389353 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.389359 | controller | - ' exit 0' 2025-11-25 08:56:04.389365 | controller | - ' else' 2025-11-25 08:56:04.389371 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.389377 | controller | - ' exit 1' 2025-11-25 08:56:04.389383 | controller | - ' fi' 2025-11-25 08:56:04.389388 | controller | - ' ]' 2025-11-25 08:56:04.389394 | controller | - ' logger.go:42: 08:50:07 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 08:56:04.389400 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.389406 | controller | - ' logger.go:42: 08:50:08 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.389412 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.389417 | controller | rely on' 2025-11-25 08:56:04.389423 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.389429 | controller | and checks that' 2025-11-25 08:56:04.389435 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.389441 | controller | pattern' 2025-11-25 08:56:04.389446 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.389452 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.389458 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.389464 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.389470 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.389476 | controller | - ' exit 0' 2025-11-25 08:56:04.389481 | controller | - ' else' 2025-11-25 08:56:04.389487 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.389493 | controller | - ' exit 1' 2025-11-25 08:56:04.389499 | controller | - ' fi' 2025-11-25 08:56:04.389505 | controller | - ' ]' 2025-11-25 08:56:04.389511 | controller | - ' logger.go:42: 08:50:08 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 08:56:04.389517 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.389525 | controller | - ' logger.go:42: 08:50:09 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.389531 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.389537 | controller | rely on' 2025-11-25 08:56:04.389549 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.389555 | controller | and checks that' 2025-11-25 08:56:04.389561 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.389567 | controller | pattern' 2025-11-25 08:56:04.389573 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.389578 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.389584 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.389590 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.389596 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.389602 | controller | - ' exit 0' 2025-11-25 08:56:04.389607 | controller | - ' else' 2025-11-25 08:56:04.389616 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.389622 | controller | - ' exit 1' 2025-11-25 08:56:04.389628 | controller | - ' fi' 2025-11-25 08:56:04.389634 | controller | - ' ]' 2025-11-25 08:56:04.389639 | controller | - ' logger.go:42: 08:50:09 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 08:56:04.389645 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.389651 | controller | - ' logger.go:42: 08:50:10 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.389657 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.389663 | controller | rely on' 2025-11-25 08:56:04.389669 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.389674 | controller | and checks that' 2025-11-25 08:56:04.389680 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.389686 | controller | pattern' 2025-11-25 08:56:04.389692 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.389698 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.389703 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.389709 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.389715 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.389721 | controller | - ' exit 0' 2025-11-25 08:56:04.389727 | controller | - ' else' 2025-11-25 08:56:04.389732 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.389738 | controller | - ' exit 1' 2025-11-25 08:56:04.389744 | controller | - ' fi' 2025-11-25 08:56:04.389750 | controller | - ' ]' 2025-11-25 08:56:04.389756 | controller | - ' logger.go:42: 08:50:10 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 08:56:04.389762 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.389767 | controller | - ' logger.go:42: 08:50:11 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.389773 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.389779 | controller | rely on' 2025-11-25 08:56:04.389785 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.389791 | controller | and checks that' 2025-11-25 08:56:04.389797 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.389802 | controller | pattern' 2025-11-25 08:56:04.389808 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.389814 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.389820 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.389826 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.389831 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.389837 | controller | - ' exit 0' 2025-11-25 08:56:04.389843 | controller | - ' else' 2025-11-25 08:56:04.389849 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.389855 | controller | - ' exit 1' 2025-11-25 08:56:04.389861 | controller | - ' fi' 2025-11-25 08:56:04.389866 | controller | - ' ]' 2025-11-25 08:56:04.389872 | controller | - ' logger.go:42: 08:50:11 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 08:56:04.389878 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.389884 | controller | - ' logger.go:42: 08:50:12 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.389890 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.389898 | controller | rely on' 2025-11-25 08:56:04.389904 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.389910 | controller | and checks that' 2025-11-25 08:56:04.389916 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.389922 | controller | pattern' 2025-11-25 08:56:04.389927 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.389933 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.389939 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.389945 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.389951 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.389957 | controller | - ' exit 0' 2025-11-25 08:56:04.389968 | controller | - ' else' 2025-11-25 08:56:04.389974 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.389980 | controller | - ' exit 1' 2025-11-25 08:56:04.389985 | controller | - ' fi' 2025-11-25 08:56:04.389991 | controller | - ' ]' 2025-11-25 08:56:04.389997 | controller | - ' logger.go:42: 08:50:13 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 08:56:04.390003 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.390009 | controller | - ' logger.go:42: 08:50:14 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.390015 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.390020 | controller | rely on' 2025-11-25 08:56:04.390026 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.390032 | controller | and checks that' 2025-11-25 08:56:04.390038 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.390044 | controller | pattern' 2025-11-25 08:56:04.390050 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.390055 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.390064 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.390070 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.390076 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.390082 | controller | - ' exit 0' 2025-11-25 08:56:04.390087 | controller | - ' else' 2025-11-25 08:56:04.390093 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.390111 | controller | - ' exit 1' 2025-11-25 08:56:04.390120 | controller | - ' fi' 2025-11-25 08:56:04.390126 | controller | - ' ]' 2025-11-25 08:56:04.390132 | controller | - ' logger.go:42: 08:50:14 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 08:56:04.390138 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.390143 | controller | - ' logger.go:42: 08:50:15 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.390149 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.390155 | controller | rely on' 2025-11-25 08:56:04.390161 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.390166 | controller | and checks that' 2025-11-25 08:56:04.390172 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.390178 | controller | pattern' 2025-11-25 08:56:04.390184 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.390190 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.390199 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.390204 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.390210 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.390216 | controller | - ' exit 0' 2025-11-25 08:56:04.390222 | controller | - ' else' 2025-11-25 08:56:04.390228 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.390233 | controller | - ' exit 1' 2025-11-25 08:56:04.390239 | controller | - ' fi' 2025-11-25 08:56:04.390245 | controller | - ' ]' 2025-11-25 08:56:04.390251 | controller | - ' logger.go:42: 08:50:15 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 08:56:04.390257 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.390263 | controller | - ' logger.go:42: 08:50:16 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.390271 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.390277 | controller | rely on' 2025-11-25 08:56:04.390283 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.390289 | controller | and checks that' 2025-11-25 08:56:04.390294 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.390300 | controller | pattern' 2025-11-25 08:56:04.390306 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.390312 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.390318 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.390324 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.390329 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.390337 | controller | - ' exit 0' 2025-11-25 08:56:04.390344 | controller | - ' else' 2025-11-25 08:56:04.390352 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.390360 | controller | - ' exit 1' 2025-11-25 08:56:04.390368 | controller | - ' fi' 2025-11-25 08:56:04.390376 | controller | - ' ]' 2025-11-25 08:56:04.390384 | controller | - ' logger.go:42: 08:50:16 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 08:56:04.390390 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.390396 | controller | - ' logger.go:42: 08:50:17 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.390402 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.390408 | controller | rely on' 2025-11-25 08:56:04.390414 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.390419 | controller | and checks that' 2025-11-25 08:56:04.390437 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.390446 | controller | pattern' 2025-11-25 08:56:04.390454 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.390462 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.390469 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.390477 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.390485 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.390492 | controller | - ' exit 0' 2025-11-25 08:56:04.390499 | controller | - ' else' 2025-11-25 08:56:04.390507 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.390518 | controller | - ' exit 1' 2025-11-25 08:56:04.390525 | controller | - ' fi' 2025-11-25 08:56:04.390531 | controller | - ' ]' 2025-11-25 08:56:04.390539 | controller | - ' logger.go:42: 08:50:17 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 08:56:04.390547 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.390555 | controller | - ' logger.go:42: 08:50:18 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.390563 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.390570 | controller | rely on' 2025-11-25 08:56:04.390578 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.390585 | controller | and checks that' 2025-11-25 08:56:04.390592 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.390598 | controller | pattern' 2025-11-25 08:56:04.390603 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.390609 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.390615 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.390622 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.390630 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.390637 | controller | - ' exit 0' 2025-11-25 08:56:04.390645 | controller | - ' else' 2025-11-25 08:56:04.390653 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.390660 | controller | - ' exit 1' 2025-11-25 08:56:04.390668 | controller | - ' fi' 2025-11-25 08:56:04.390675 | controller | - ' ]' 2025-11-25 08:56:04.390683 | controller | - ' logger.go:42: 08:50:18 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 08:56:04.390690 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.390697 | controller | - ' logger.go:42: 08:50:19 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.390703 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.390710 | controller | rely on' 2025-11-25 08:56:04.390718 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.390725 | controller | and checks that' 2025-11-25 08:56:04.390733 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.390741 | controller | pattern' 2025-11-25 08:56:04.390749 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.390756 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.390763 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.390771 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.390778 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.390786 | controller | - ' exit 0' 2025-11-25 08:56:04.390793 | controller | - ' else' 2025-11-25 08:56:04.390801 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.390809 | controller | - ' exit 1' 2025-11-25 08:56:04.390816 | controller | - ' fi' 2025-11-25 08:56:04.390824 | controller | - ' ]' 2025-11-25 08:56:04.390832 | controller | - ' logger.go:42: 08:50:20 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 08:56:04.390839 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.390846 | controller | - ' logger.go:42: 08:50:21 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.390854 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.390861 | controller | rely on' 2025-11-25 08:56:04.390873 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.390880 | controller | and checks that' 2025-11-25 08:56:04.390888 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.390895 | controller | pattern' 2025-11-25 08:56:04.390903 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.390910 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.390916 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.390922 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.390928 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.390933 | controller | - ' exit 0' 2025-11-25 08:56:04.390939 | controller | - ' else' 2025-11-25 08:56:04.390953 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.390960 | controller | - ' exit 1' 2025-11-25 08:56:04.390966 | controller | - ' fi' 2025-11-25 08:56:04.390972 | controller | - ' ]' 2025-11-25 08:56:04.390978 | controller | - ' logger.go:42: 08:50:21 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 08:56:04.390984 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.390989 | controller | - ' logger.go:42: 08:50:22 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.390995 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.391001 | controller | rely on' 2025-11-25 08:56:04.391007 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.391013 | controller | and checks that' 2025-11-25 08:56:04.391018 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.391024 | controller | pattern' 2025-11-25 08:56:04.391030 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.391036 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.391042 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.391047 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.391053 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.391059 | controller | - ' exit 0' 2025-11-25 08:56:04.391065 | controller | - ' else' 2025-11-25 08:56:04.391071 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.391076 | controller | - ' exit 1' 2025-11-25 08:56:04.391082 | controller | - ' fi' 2025-11-25 08:56:04.391088 | controller | - ' ]' 2025-11-25 08:56:04.391094 | controller | - ' logger.go:42: 08:50:22 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 08:56:04.391115 | controller | URLS: : do not match regex' 2025-11-25 08:56:04.391124 | controller | - ' logger.go:42: 08:50:23 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.391130 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.391136 | controller | rely on' 2025-11-25 08:56:04.391145 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.391151 | controller | and checks that' 2025-11-25 08:56:04.391157 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.391163 | controller | pattern' 2025-11-25 08:56:04.391168 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.391174 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.391183 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.391189 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.391195 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.391201 | controller | - ' exit 0' 2025-11-25 08:56:04.391206 | controller | - ' else' 2025-11-25 08:56:04.391212 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.391218 | controller | - ' exit 1' 2025-11-25 08:56:04.391224 | controller | - ' fi' 2025-11-25 08:56:04.391230 | controller | - ' ]' 2025-11-25 08:56:04.391236 | controller | - ' logger.go:42: 08:50:24 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.391241 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.391247 | controller | rely on' 2025-11-25 08:56:04.391253 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.391259 | controller | and checks that' 2025-11-25 08:56:04.391265 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.391270 | controller | pattern' 2025-11-25 08:56:04.391276 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.391282 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.391303 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.391309 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.391321 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.391327 | controller | - ' exit 0' 2025-11-25 08:56:04.391333 | controller | - ' else' 2025-11-25 08:56:04.391339 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.391345 | controller | - ' exit 1' 2025-11-25 08:56:04.391351 | controller | - ' fi' 2025-11-25 08:56:04.391356 | controller | - ' ]' 2025-11-25 08:56:04.391362 | controller | - ' logger.go:42: 08:50:25 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.391368 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.391374 | controller | rely on' 2025-11-25 08:56:04.391380 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.391386 | controller | and checks that' 2025-11-25 08:56:04.391392 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.391397 | controller | pattern' 2025-11-25 08:56:04.391403 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.391409 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.391422 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.391431 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.391437 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.391447 | controller | - ' exit 0' 2025-11-25 08:56:04.391456 | controller | - ' else' 2025-11-25 08:56:04.391464 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.391471 | controller | - ' exit 1' 2025-11-25 08:56:04.391479 | controller | - ' fi' 2025-11-25 08:56:04.391487 | controller | - ' ]' 2025-11-25 08:56:04.391494 | controller | - ' logger.go:42: 08:50:26 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.391502 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.391509 | controller | rely on' 2025-11-25 08:56:04.391516 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.391526 | controller | and checks that' 2025-11-25 08:56:04.391532 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.391539 | controller | pattern' 2025-11-25 08:56:04.391546 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.391554 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.391562 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.391570 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.391578 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.391586 | controller | - ' exit 0' 2025-11-25 08:56:04.391593 | controller | - ' else' 2025-11-25 08:56:04.391600 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.391607 | controller | - ' exit 1' 2025-11-25 08:56:04.391614 | controller | - ' fi' 2025-11-25 08:56:04.391621 | controller | - ' ]' 2025-11-25 08:56:04.391628 | controller | - ' logger.go:42: 08:50:28 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.391636 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.391644 | controller | rely on' 2025-11-25 08:56:04.391651 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.391659 | controller | and checks that' 2025-11-25 08:56:04.391667 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.391675 | controller | pattern' 2025-11-25 08:56:04.391682 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.391689 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.391695 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.391701 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.391707 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.391713 | controller | - ' exit 0' 2025-11-25 08:56:04.391719 | controller | - ' else' 2025-11-25 08:56:04.391727 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.391735 | controller | - ' exit 1' 2025-11-25 08:56:04.391742 | controller | - ' fi' 2025-11-25 08:56:04.391750 | controller | - ' ]' 2025-11-25 08:56:04.391758 | controller | - ' logger.go:42: 08:50:29 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.391765 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.391773 | controller | rely on' 2025-11-25 08:56:04.391780 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.391788 | controller | and checks that' 2025-11-25 08:56:04.391795 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.391802 | controller | pattern' 2025-11-25 08:56:04.391808 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.391815 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.391823 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.391831 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.391839 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.391847 | controller | - ' exit 0' 2025-11-25 08:56:04.391854 | controller | - ' else' 2025-11-25 08:56:04.391861 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.391873 | controller | - ' exit 1' 2025-11-25 08:56:04.391884 | controller | - ' fi' 2025-11-25 08:56:04.391892 | controller | - ' ]' 2025-11-25 08:56:04.391899 | controller | - ' logger.go:42: 08:50:30 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.391907 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.391915 | controller | rely on' 2025-11-25 08:56:04.391922 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.391930 | controller | and checks that' 2025-11-25 08:56:04.391937 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.391945 | controller | pattern' 2025-11-25 08:56:04.391952 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.391960 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.391976 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.391984 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.391992 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.391999 | controller | - ' exit 0' 2025-11-25 08:56:04.392007 | controller | - ' else' 2025-11-25 08:56:04.392014 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.392020 | controller | - ' exit 1' 2025-11-25 08:56:04.392026 | controller | - ' fi' 2025-11-25 08:56:04.392031 | controller | - ' ]' 2025-11-25 08:56:04.392037 | controller | - ' logger.go:42: 08:50:31 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.392043 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.392049 | controller | rely on' 2025-11-25 08:56:04.392055 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.392061 | controller | and checks that' 2025-11-25 08:56:04.392066 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.392072 | controller | pattern' 2025-11-25 08:56:04.392078 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.392084 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.392090 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.392095 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.392120 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.392126 | controller | - ' exit 0' 2025-11-25 08:56:04.392132 | controller | - ' else' 2025-11-25 08:56:04.392138 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.392144 | controller | - ' exit 1' 2025-11-25 08:56:04.392149 | controller | - ' fi' 2025-11-25 08:56:04.392155 | controller | - ' ]' 2025-11-25 08:56:04.392161 | controller | - ' logger.go:42: 08:50:32 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.392171 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.392177 | controller | rely on' 2025-11-25 08:56:04.392182 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.392188 | controller | and checks that' 2025-11-25 08:56:04.392194 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.392200 | controller | pattern' 2025-11-25 08:56:04.392206 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.392212 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.392221 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.392226 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.392232 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.392238 | controller | - ' exit 0' 2025-11-25 08:56:04.392244 | controller | - ' else' 2025-11-25 08:56:04.392250 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.392255 | controller | - ' exit 1' 2025-11-25 08:56:04.392261 | controller | - ' fi' 2025-11-25 08:56:04.392267 | controller | - ' ]' 2025-11-25 08:56:04.392273 | controller | - ' logger.go:42: 08:50:33 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.392279 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.392285 | controller | rely on' 2025-11-25 08:56:04.392291 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.392296 | controller | and checks that' 2025-11-25 08:56:04.392302 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.392308 | controller | pattern' 2025-11-25 08:56:04.392314 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.392324 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.392331 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.392337 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.392344 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.392351 | controller | - ' exit 0' 2025-11-25 08:56:04.392357 | controller | - ' else' 2025-11-25 08:56:04.392363 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.392368 | controller | - ' exit 1' 2025-11-25 08:56:04.392374 | controller | - ' fi' 2025-11-25 08:56:04.392380 | controller | - ' ]' 2025-11-25 08:56:04.392386 | controller | - ' logger.go:42: 08:50:35 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.392392 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.392398 | controller | rely on' 2025-11-25 08:56:04.392404 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.392409 | controller | and checks that' 2025-11-25 08:56:04.392415 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.392421 | controller | pattern' 2025-11-25 08:56:04.392429 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.392435 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.392448 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.392454 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.392460 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.392466 | controller | - ' exit 0' 2025-11-25 08:56:04.392473 | controller | - ' else' 2025-11-25 08:56:04.392480 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.392488 | controller | - ' exit 1' 2025-11-25 08:56:04.392496 | controller | - ' fi' 2025-11-25 08:56:04.392503 | controller | - ' ]' 2025-11-25 08:56:04.392511 | controller | - ' logger.go:42: 08:50:36 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.392519 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.392526 | controller | rely on' 2025-11-25 08:56:04.392538 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.392544 | controller | and checks that' 2025-11-25 08:56:04.392552 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.392559 | controller | pattern' 2025-11-25 08:56:04.392567 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.392578 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.392586 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.392594 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.392601 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.392608 | controller | - ' exit 0' 2025-11-25 08:56:04.392616 | controller | - ' else' 2025-11-25 08:56:04.392624 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.392631 | controller | - ' exit 1' 2025-11-25 08:56:04.392636 | controller | - ' fi' 2025-11-25 08:56:04.392642 | controller | - ' ]' 2025-11-25 08:56:04.392648 | controller | - ' logger.go:42: 08:50:37 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.392654 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.392660 | controller | rely on' 2025-11-25 08:56:04.392668 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.392676 | controller | and checks that' 2025-11-25 08:56:04.392684 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.392691 | controller | pattern' 2025-11-25 08:56:04.392699 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.392706 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.392714 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.392721 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.392729 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.392736 | controller | - ' exit 0' 2025-11-25 08:56:04.392744 | controller | - ' else' 2025-11-25 08:56:04.392751 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.392759 | controller | - ' exit 1' 2025-11-25 08:56:04.392764 | controller | - ' fi' 2025-11-25 08:56:04.392770 | controller | - ' ]' 2025-11-25 08:56:04.392776 | controller | - ' logger.go:42: 08:50:38 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.392782 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.392788 | controller | rely on' 2025-11-25 08:56:04.392796 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.392804 | controller | and checks that' 2025-11-25 08:56:04.392811 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.392819 | controller | pattern' 2025-11-25 08:56:04.392826 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.392834 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.392841 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.392849 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.392856 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.392864 | controller | - ' exit 0' 2025-11-25 08:56:04.392871 | controller | - ' else' 2025-11-25 08:56:04.392880 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.392886 | controller | - ' exit 1' 2025-11-25 08:56:04.392892 | controller | - ' fi' 2025-11-25 08:56:04.392898 | controller | - ' ]' 2025-11-25 08:56:04.392904 | controller | - ' logger.go:42: 08:50:39 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.392909 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.392915 | controller | rely on' 2025-11-25 08:56:04.392921 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.392927 | controller | and checks that' 2025-11-25 08:56:04.392933 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.392938 | controller | pattern' 2025-11-25 08:56:04.392944 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.392950 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.392965 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.392971 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.392977 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.392983 | controller | - ' exit 0' 2025-11-25 08:56:04.392989 | controller | - ' else' 2025-11-25 08:56:04.392995 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.393001 | controller | - ' exit 1' 2025-11-25 08:56:04.393006 | controller | - ' fi' 2025-11-25 08:56:04.393012 | controller | - ' ]' 2025-11-25 08:56:04.393018 | controller | - ' logger.go:42: 08:50:40 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.393024 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.393031 | controller | rely on' 2025-11-25 08:56:04.393038 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.393046 | controller | and checks that' 2025-11-25 08:56:04.393054 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.393062 | controller | pattern' 2025-11-25 08:56:04.393070 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.393075 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.393081 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.393087 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.393093 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.393116 | controller | - ' exit 0' 2025-11-25 08:56:04.393128 | controller | - ' else' 2025-11-25 08:56:04.393136 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.393144 | controller | - ' exit 1' 2025-11-25 08:56:04.393152 | controller | - ' fi' 2025-11-25 08:56:04.393159 | controller | - ' ]' 2025-11-25 08:56:04.393171 | controller | - ' logger.go:42: 08:50:42 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.393177 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.393183 | controller | rely on' 2025-11-25 08:56:04.393189 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.393195 | controller | and checks that' 2025-11-25 08:56:04.393204 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.393210 | controller | pattern' 2025-11-25 08:56:04.393217 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.393229 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.393331 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.393388 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.393397 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.393406 | controller | - ' exit 0' 2025-11-25 08:56:04.393414 | controller | - ' else' 2025-11-25 08:56:04.393422 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.393429 | controller | - ' exit 1' 2025-11-25 08:56:04.393437 | controller | - ' fi' 2025-11-25 08:56:04.393444 | controller | - ' ]' 2025-11-25 08:56:04.393452 | controller | - ' logger.go:42: 08:50:43 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.393459 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.393467 | controller | rely on' 2025-11-25 08:56:04.393475 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.393482 | controller | and checks that' 2025-11-25 08:56:04.393490 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.393497 | controller | pattern' 2025-11-25 08:56:04.393505 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.393513 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.393520 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.393527 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.393535 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.393542 | controller | - ' exit 0' 2025-11-25 08:56:04.393550 | controller | - ' else' 2025-11-25 08:56:04.393557 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.393565 | controller | - ' exit 1' 2025-11-25 08:56:04.393572 | controller | - ' fi' 2025-11-25 08:56:04.393580 | controller | - ' ]' 2025-11-25 08:56:04.393587 | controller | - ' logger.go:42: 08:50:44 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.393595 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.393602 | controller | rely on' 2025-11-25 08:56:04.393610 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.393617 | controller | and checks that' 2025-11-25 08:56:04.393625 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.393632 | controller | pattern' 2025-11-25 08:56:04.393640 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.393647 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.393667 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.393676 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.393683 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.393740 | controller | - ' exit 0' 2025-11-25 08:56:04.393750 | controller | - ' else' 2025-11-25 08:56:04.393758 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.393765 | controller | - ' exit 1' 2025-11-25 08:56:04.393773 | controller | - ' fi' 2025-11-25 08:56:04.393780 | controller | - ' ]' 2025-11-25 08:56:04.393788 | controller | - ' logger.go:42: 08:50:45 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.393795 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.393810 | controller | rely on' 2025-11-25 08:56:04.393818 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.393826 | controller | and checks that' 2025-11-25 08:56:04.393833 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.393841 | controller | pattern' 2025-11-25 08:56:04.393848 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.393856 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.393863 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.393870 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.393877 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.393884 | controller | - ' exit 0' 2025-11-25 08:56:04.393892 | controller | - ' else' 2025-11-25 08:56:04.393899 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.393907 | controller | - ' exit 1' 2025-11-25 08:56:04.393914 | controller | - ' fi' 2025-11-25 08:56:04.393922 | controller | - ' ]' 2025-11-25 08:56:04.393929 | controller | - ' logger.go:42: 08:50:46 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.393937 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.393945 | controller | rely on' 2025-11-25 08:56:04.393952 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.393960 | controller | and checks that' 2025-11-25 08:56:04.393967 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.393975 | controller | pattern' 2025-11-25 08:56:04.393982 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.393990 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.394002 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.394012 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.394019 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.394027 | controller | - ' exit 0' 2025-11-25 08:56:04.394033 | controller | - ' else' 2025-11-25 08:56:04.394039 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.394045 | controller | - ' exit 1' 2025-11-25 08:56:04.394050 | controller | - ' fi' 2025-11-25 08:56:04.394056 | controller | - ' ]' 2025-11-25 08:56:04.394062 | controller | - ' logger.go:42: 08:50:47 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.394068 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.394074 | controller | rely on' 2025-11-25 08:56:04.394079 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.394085 | controller | and checks that' 2025-11-25 08:56:04.394091 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.394122 | controller | pattern' 2025-11-25 08:56:04.394133 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.394139 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.394145 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.394150 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.394156 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.394162 | controller | - ' exit 0' 2025-11-25 08:56:04.394172 | controller | - ' else' 2025-11-25 08:56:04.394178 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.394184 | controller | - ' exit 1' 2025-11-25 08:56:04.394190 | controller | - ' fi' 2025-11-25 08:56:04.394195 | controller | - ' ]' 2025-11-25 08:56:04.394201 | controller | - ' logger.go:42: 08:50:49 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.394207 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.394213 | controller | rely on' 2025-11-25 08:56:04.394219 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.394225 | controller | and checks that' 2025-11-25 08:56:04.394230 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.394236 | controller | pattern' 2025-11-25 08:56:04.394242 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.394248 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.394262 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.394268 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.394274 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.394280 | controller | - ' exit 0' 2025-11-25 08:56:04.394286 | controller | - ' else' 2025-11-25 08:56:04.394292 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.394297 | controller | - ' exit 1' 2025-11-25 08:56:04.394303 | controller | - ' fi' 2025-11-25 08:56:04.394309 | controller | - ' ]' 2025-11-25 08:56:04.394315 | controller | - ' logger.go:42: 08:50:50 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.394321 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.394327 | controller | rely on' 2025-11-25 08:56:04.394332 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.394338 | controller | and checks that' 2025-11-25 08:56:04.394347 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.394354 | controller | pattern' 2025-11-25 08:56:04.394359 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.394365 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.394371 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.394377 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.394383 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.394389 | controller | - ' exit 0' 2025-11-25 08:56:04.394394 | controller | - ' else' 2025-11-25 08:56:04.394400 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.394406 | controller | - ' exit 1' 2025-11-25 08:56:04.394412 | controller | - ' fi' 2025-11-25 08:56:04.394418 | controller | - ' ]' 2025-11-25 08:56:04.394423 | controller | - ' logger.go:42: 08:50:51 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.394429 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.394435 | controller | rely on' 2025-11-25 08:56:04.394441 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.394447 | controller | and checks that' 2025-11-25 08:56:04.394452 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.394458 | controller | pattern' 2025-11-25 08:56:04.394464 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.394473 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.394479 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.394484 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.394490 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.394496 | controller | - ' exit 0' 2025-11-25 08:56:04.394502 | controller | - ' else' 2025-11-25 08:56:04.394508 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.394514 | controller | - ' exit 1' 2025-11-25 08:56:04.394519 | controller | - ' fi' 2025-11-25 08:56:04.394525 | controller | - ' ]' 2025-11-25 08:56:04.394531 | controller | - ' logger.go:42: 08:50:52 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.394537 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.394543 | controller | rely on' 2025-11-25 08:56:04.394549 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.394554 | controller | and checks that' 2025-11-25 08:56:04.394560 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.394566 | controller | pattern' 2025-11-25 08:56:04.394572 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.394578 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.394583 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.394589 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.394595 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.394601 | controller | - ' exit 0' 2025-11-25 08:56:04.394607 | controller | - ' else' 2025-11-25 08:56:04.394613 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.394618 | controller | - ' exit 1' 2025-11-25 08:56:04.394624 | controller | - ' fi' 2025-11-25 08:56:04.394630 | controller | - ' ]' 2025-11-25 08:56:04.394636 | controller | - ' logger.go:42: 08:50:53 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.394642 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.394647 | controller | rely on' 2025-11-25 08:56:04.394653 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.394659 | controller | and checks that' 2025-11-25 08:56:04.394665 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.394671 | controller | pattern' 2025-11-25 08:56:04.394677 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.394682 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.394695 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.394703 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.394710 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.394718 | controller | - ' exit 0' 2025-11-25 08:56:04.394726 | controller | - ' else' 2025-11-25 08:56:04.394734 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.394742 | controller | - ' exit 1' 2025-11-25 08:56:04.394752 | controller | - ' fi' 2025-11-25 08:56:04.394758 | controller | - ' ]' 2025-11-25 08:56:04.394764 | controller | - ' logger.go:42: 08:50:55 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.394770 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.394778 | controller | rely on' 2025-11-25 08:56:04.394784 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.394790 | controller | and checks that' 2025-11-25 08:56:04.394797 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.394804 | controller | pattern' 2025-11-25 08:56:04.394812 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.394820 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.394828 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.394835 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.394842 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.394849 | controller | - ' exit 0' 2025-11-25 08:56:04.394854 | controller | - ' else' 2025-11-25 08:56:04.394860 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.394866 | controller | - ' exit 1' 2025-11-25 08:56:04.394873 | controller | - ' fi' 2025-11-25 08:56:04.394880 | controller | - ' ]' 2025-11-25 08:56:04.394888 | controller | - ' logger.go:42: 08:50:56 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.394896 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.394904 | controller | rely on' 2025-11-25 08:56:04.394912 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.394920 | controller | and checks that' 2025-11-25 08:56:04.394927 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.394935 | controller | pattern' 2025-11-25 08:56:04.394942 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.394950 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.394956 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.394962 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.394969 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.394977 | controller | - ' exit 0' 2025-11-25 08:56:04.394985 | controller | - ' else' 2025-11-25 08:56:04.394993 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.395001 | controller | - ' exit 1' 2025-11-25 08:56:04.395008 | controller | - ' fi' 2025-11-25 08:56:04.395016 | controller | - ' ]' 2025-11-25 08:56:04.395023 | controller | - ' logger.go:42: 08:50:57 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.395030 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.395038 | controller | rely on' 2025-11-25 08:56:04.395046 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.395053 | controller | and checks that' 2025-11-25 08:56:04.395060 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.395068 | controller | pattern' 2025-11-25 08:56:04.395076 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.395084 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.395091 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.395116 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.395132 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.395141 | controller | - ' exit 0' 2025-11-25 08:56:04.395147 | controller | - ' else' 2025-11-25 08:56:04.395153 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.395159 | controller | - ' exit 1' 2025-11-25 08:56:04.395165 | controller | - ' fi' 2025-11-25 08:56:04.395171 | controller | - ' ]' 2025-11-25 08:56:04.395176 | controller | - ' logger.go:42: 08:50:58 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.395182 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.395188 | controller | rely on' 2025-11-25 08:56:04.395194 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.395200 | controller | and checks that' 2025-11-25 08:56:04.395206 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.395212 | controller | pattern' 2025-11-25 08:56:04.395217 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.395223 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.395237 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.395243 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.395249 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.395255 | controller | - ' exit 0' 2025-11-25 08:56:04.395261 | controller | - ' else' 2025-11-25 08:56:04.395267 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.395273 | controller | - ' exit 1' 2025-11-25 08:56:04.395278 | controller | - ' fi' 2025-11-25 08:56:04.395284 | controller | - ' ]' 2025-11-25 08:56:04.395290 | controller | - ' logger.go:42: 08:50:59 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.395314 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.395321 | controller | rely on' 2025-11-25 08:56:04.395330 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.395336 | controller | and checks that' 2025-11-25 08:56:04.395342 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.395348 | controller | pattern' 2025-11-25 08:56:04.395354 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.395359 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.395365 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.395371 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.395377 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.395383 | controller | - ' exit 0' 2025-11-25 08:56:04.395389 | controller | - ' else' 2025-11-25 08:56:04.395395 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.395400 | controller | - ' exit 1' 2025-11-25 08:56:04.395406 | controller | - ' fi' 2025-11-25 08:56:04.395412 | controller | - ' ]' 2025-11-25 08:56:04.395418 | controller | - ' logger.go:42: 08:51:00 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 08:56:04.395424 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.395430 | controller | rely on' 2025-11-25 08:56:04.395436 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.395441 | controller | and checks that' 2025-11-25 08:56:04.395447 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.395453 | controller | pattern' 2025-11-25 08:56:04.395462 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.395468 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.395474 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.395480 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.395486 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.395492 | controller | - ' exit 0' 2025-11-25 08:56:04.395497 | controller | - ' else' 2025-11-25 08:56:04.395503 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.395509 | controller | - ' exit 1' 2025-11-25 08:56:04.395515 | controller | - ' fi' 2025-11-25 08:56:04.395521 | controller | - ' ]' 2025-11-25 08:56:04.395527 | controller | - ' logger.go:42: 08:51:01 | keystone_tls/1-keystoneapi_tls_deploy | test step 2025-11-25 08:56:04.395533 | controller | completed 1-keystoneapi_tls_deploy' 2025-11-25 08:56:04.395538 | controller | - ' logger.go:42: 08:51:01 | keystone_tls/2-cleanup-keystone | starting test step 2025-11-25 08:56:04.395544 | controller | 2-cleanup-keystone' 2025-11-25 08:56:04.395550 | controller | - ' logger.go:42: 08:51:05 | keystone_tls/2-cleanup-keystone | test step completed 2025-11-25 08:56:04.395556 | controller | 2-cleanup-keystone' 2025-11-25 08:56:04.395562 | controller | - ' logger.go:42: 08:51:05 | keystone_tls | skipping kubernetes event logging' 2025-11-25 08:56:04.395568 | controller | - === CONT kuttl/harness/keystone_resources 2025-11-25 08:56:04.395574 | controller | - ' logger.go:42: 08:51:05 | keystone_resources | Skipping creation of user-supplied 2025-11-25 08:56:04.395580 | controller | namespace: keystone-kuttl-tests' 2025-11-25 08:56:04.395585 | controller | - ' logger.go:42: 08:51:05 | keystone_resources/0-deploy_keystone | starting test 2025-11-25 08:56:04.395591 | controller | step 0-deploy_keystone' 2025-11-25 08:56:04.395597 | controller | - ' logger.go:42: 08:51:05 | keystone_resources/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone 2025-11-25 08:56:04.395603 | controller | created' 2025-11-25 08:56:04.395609 | controller | - ' logger.go:42: 08:51:05 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.395615 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.395621 | controller | rely on' 2025-11-25 08:56:04.395626 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.395632 | controller | and checks that' 2025-11-25 08:56:04.395688 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.395697 | controller | pattern' 2025-11-25 08:56:04.395703 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.395708 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.395714 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.395720 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.395726 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.395732 | controller | - ' exit 0' 2025-11-25 08:56:04.395788 | controller | - ' else' 2025-11-25 08:56:04.395795 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.395801 | controller | - ' exit 1' 2025-11-25 08:56:04.395807 | controller | - ' fi' 2025-11-25 08:56:04.395813 | controller | - ' ' 2025-11-25 08:56:04.395819 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.395824 | controller | them with a script' 2025-11-25 08:56:04.395830 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.395836 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.395845 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.395851 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.395857 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.395869 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.395875 | controller | - ' # it is an image' 2025-11-25 08:56:04.395881 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.395886 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.395892 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.395898 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.395904 | controller | - ' case $NAME in' 2025-11-25 08:56:04.395910 | controller | - ' API)' 2025-11-25 08:56:04.395916 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.395922 | controller | - ' ;;' 2025-11-25 08:56:04.395927 | controller | - ' esac' 2025-11-25 08:56:04.395933 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.395939 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.395945 | controller | - ' exit 1' 2025-11-25 08:56:04.395951 | controller | - ' fi' 2025-11-25 08:56:04.395958 | controller | - ' fi' 2025-11-25 08:56:04.395965 | controller | - ' done' 2025-11-25 08:56:04.395973 | controller | - ' ]' 2025-11-25 08:56:04.395981 | controller | - ' logger.go:42: 08:51:05 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.395989 | controller | : do not match regex' 2025-11-25 08:56:04.395997 | controller | - ' logger.go:42: 08:51:06 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.396004 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.396012 | controller | rely on' 2025-11-25 08:56:04.396019 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.396027 | controller | and checks that' 2025-11-25 08:56:04.396035 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.396043 | controller | pattern' 2025-11-25 08:56:04.396050 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.396057 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.396064 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.396071 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.396078 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.396085 | controller | - ' exit 0' 2025-11-25 08:56:04.396091 | controller | - ' else' 2025-11-25 08:56:04.396100 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.396122 | controller | - ' exit 1' 2025-11-25 08:56:04.396128 | controller | - ' fi' 2025-11-25 08:56:04.396134 | controller | - ' ' 2025-11-25 08:56:04.396140 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.396146 | controller | them with a script' 2025-11-25 08:56:04.396156 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.396162 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.396168 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.396174 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.396183 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.396195 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.396200 | controller | - ' # it is an image' 2025-11-25 08:56:04.396206 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.396212 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.396218 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.396224 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.396230 | controller | - ' case $NAME in' 2025-11-25 08:56:04.396236 | controller | - ' API)' 2025-11-25 08:56:04.396241 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.396247 | controller | - ' ;;' 2025-11-25 08:56:04.396253 | controller | - ' esac' 2025-11-25 08:56:04.396259 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.396265 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.396271 | controller | - ' exit 1' 2025-11-25 08:56:04.396277 | controller | - ' fi' 2025-11-25 08:56:04.396283 | controller | - ' fi' 2025-11-25 08:56:04.396288 | controller | - ' done' 2025-11-25 08:56:04.396294 | controller | - ' ]' 2025-11-25 08:56:04.396308 | controller | - ' logger.go:42: 08:51:06 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.396314 | controller | : do not match regex' 2025-11-25 08:56:04.396328 | controller | - ' logger.go:42: 08:51:07 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.396334 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.396342 | controller | rely on' 2025-11-25 08:56:04.396348 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.396354 | controller | and checks that' 2025-11-25 08:56:04.396360 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.396366 | controller | pattern' 2025-11-25 08:56:04.396372 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.396377 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.396383 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.396392 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.396398 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.396403 | controller | - ' exit 0' 2025-11-25 08:56:04.396409 | controller | - ' else' 2025-11-25 08:56:04.396415 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.396421 | controller | - ' exit 1' 2025-11-25 08:56:04.396427 | controller | - ' fi' 2025-11-25 08:56:04.396433 | controller | - ' ' 2025-11-25 08:56:04.396438 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.396444 | controller | them with a script' 2025-11-25 08:56:04.396450 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.396456 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.396462 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.396468 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.396473 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.396488 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.396494 | controller | - ' # it is an image' 2025-11-25 08:56:04.396500 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.396506 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.396511 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.396517 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.396523 | controller | - ' case $NAME in' 2025-11-25 08:56:04.396529 | controller | - ' API)' 2025-11-25 08:56:04.396535 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.396541 | controller | - ' ;;' 2025-11-25 08:56:04.396546 | controller | - ' esac' 2025-11-25 08:56:04.396552 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.396558 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.396564 | controller | - ' exit 1' 2025-11-25 08:56:04.396570 | controller | - ' fi' 2025-11-25 08:56:04.396576 | controller | - ' fi' 2025-11-25 08:56:04.396581 | controller | - ' done' 2025-11-25 08:56:04.396587 | controller | - ' ]' 2025-11-25 08:56:04.396593 | controller | - ' logger.go:42: 08:51:07 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.396599 | controller | : do not match regex' 2025-11-25 08:56:04.396605 | controller | - ' logger.go:42: 08:51:08 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.396611 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.396617 | controller | rely on' 2025-11-25 08:56:04.396622 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.396628 | controller | and checks that' 2025-11-25 08:56:04.396634 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.396640 | controller | pattern' 2025-11-25 08:56:04.396646 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.396651 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.396657 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.396663 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.396669 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.396675 | controller | - ' exit 0' 2025-11-25 08:56:04.396681 | controller | - ' else' 2025-11-25 08:56:04.396686 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.396692 | controller | - ' exit 1' 2025-11-25 08:56:04.396698 | controller | - ' fi' 2025-11-25 08:56:04.396704 | controller | - ' ' 2025-11-25 08:56:04.396710 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.396716 | controller | them with a script' 2025-11-25 08:56:04.396721 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.396727 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.396733 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.396745 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.396751 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.396766 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.396772 | controller | - ' # it is an image' 2025-11-25 08:56:04.396778 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.396786 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.396792 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.396798 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.396804 | controller | - ' case $NAME in' 2025-11-25 08:56:04.396810 | controller | - ' API)' 2025-11-25 08:56:04.396818 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.396824 | controller | - ' ;;' 2025-11-25 08:56:04.396830 | controller | - ' esac' 2025-11-25 08:56:04.396836 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.396842 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.396847 | controller | - ' exit 1' 2025-11-25 08:56:04.396853 | controller | - ' fi' 2025-11-25 08:56:04.396859 | controller | - ' fi' 2025-11-25 08:56:04.396865 | controller | - ' done' 2025-11-25 08:56:04.396871 | controller | - ' ]' 2025-11-25 08:56:04.396876 | controller | - ' logger.go:42: 08:51:09 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.396882 | controller | : do not match regex' 2025-11-25 08:56:04.396888 | controller | - ' logger.go:42: 08:51:10 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.396894 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.396900 | controller | rely on' 2025-11-25 08:56:04.396906 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.396911 | controller | and checks that' 2025-11-25 08:56:04.396917 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.396923 | controller | pattern' 2025-11-25 08:56:04.396929 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.396935 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.396941 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.396946 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.396952 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.396958 | controller | - ' exit 0' 2025-11-25 08:56:04.396964 | controller | - ' else' 2025-11-25 08:56:04.396970 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.396976 | controller | - ' exit 1' 2025-11-25 08:56:04.396981 | controller | - ' fi' 2025-11-25 08:56:04.396987 | controller | - ' ' 2025-11-25 08:56:04.396993 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.396999 | controller | them with a script' 2025-11-25 08:56:04.397005 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.397011 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.397016 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.397022 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.397028 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.397040 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.397045 | controller | - ' # it is an image' 2025-11-25 08:56:04.397051 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.397057 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.397063 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.397071 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.397077 | controller | - ' case $NAME in' 2025-11-25 08:56:04.397083 | controller | - ' API)' 2025-11-25 08:56:04.397089 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.397095 | controller | - ' ;;' 2025-11-25 08:56:04.397117 | controller | - ' esac' 2025-11-25 08:56:04.397123 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.397129 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.397135 | controller | - ' exit 1' 2025-11-25 08:56:04.397141 | controller | - ' fi' 2025-11-25 08:56:04.397147 | controller | - ' fi' 2025-11-25 08:56:04.397153 | controller | - ' done' 2025-11-25 08:56:04.397158 | controller | - ' ]' 2025-11-25 08:56:04.397164 | controller | - ' logger.go:42: 08:51:10 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.397170 | controller | : do not match regex' 2025-11-25 08:56:04.397176 | controller | - ' logger.go:42: 08:51:11 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.397182 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.397188 | controller | rely on' 2025-11-25 08:56:04.397194 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.397199 | controller | and checks that' 2025-11-25 08:56:04.397209 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.397215 | controller | pattern' 2025-11-25 08:56:04.397227 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.397233 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.397239 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.397245 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.397251 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.397256 | controller | - ' exit 0' 2025-11-25 08:56:04.397262 | controller | - ' else' 2025-11-25 08:56:04.397268 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.397274 | controller | - ' exit 1' 2025-11-25 08:56:04.397280 | controller | - ' fi' 2025-11-25 08:56:04.397286 | controller | - ' ' 2025-11-25 08:56:04.397292 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.397298 | controller | them with a script' 2025-11-25 08:56:04.397304 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.397312 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.397318 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.397324 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.397330 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.397342 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.397347 | controller | - ' # it is an image' 2025-11-25 08:56:04.397353 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.397359 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.397365 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.397371 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.397377 | controller | - ' case $NAME in' 2025-11-25 08:56:04.397385 | controller | - ' API)' 2025-11-25 08:56:04.397391 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.397397 | controller | - ' ;;' 2025-11-25 08:56:04.397403 | controller | - ' esac' 2025-11-25 08:56:04.397411 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.397417 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.397423 | controller | - ' exit 1' 2025-11-25 08:56:04.397429 | controller | - ' fi' 2025-11-25 08:56:04.397435 | controller | - ' fi' 2025-11-25 08:56:04.397441 | controller | - ' done' 2025-11-25 08:56:04.397446 | controller | - ' ]' 2025-11-25 08:56:04.397452 | controller | - ' logger.go:42: 08:51:11 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.397458 | controller | : do not match regex' 2025-11-25 08:56:04.397464 | controller | - ' logger.go:42: 08:51:12 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.397470 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.397476 | controller | rely on' 2025-11-25 08:56:04.397481 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.397487 | controller | and checks that' 2025-11-25 08:56:04.397493 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.397499 | controller | pattern' 2025-11-25 08:56:04.397505 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.397511 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.397516 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.397522 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.397528 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.397534 | controller | - ' exit 0' 2025-11-25 08:56:04.397540 | controller | - ' else' 2025-11-25 08:56:04.397546 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.397551 | controller | - ' exit 1' 2025-11-25 08:56:04.397557 | controller | - ' fi' 2025-11-25 08:56:04.397563 | controller | - ' ' 2025-11-25 08:56:04.397569 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.397577 | controller | them with a script' 2025-11-25 08:56:04.397594 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.397604 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.397612 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.397620 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.397626 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.397638 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.397644 | controller | - ' # it is an image' 2025-11-25 08:56:04.397649 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.397655 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.397665 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.397671 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.397687 | controller | - ' case $NAME in' 2025-11-25 08:56:04.397693 | controller | - ' API)' 2025-11-25 08:56:04.397699 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.397705 | controller | - ' ;;' 2025-11-25 08:56:04.397715 | controller | - ' esac' 2025-11-25 08:56:04.397720 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.397726 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.397732 | controller | - ' exit 1' 2025-11-25 08:56:04.397738 | controller | - ' fi' 2025-11-25 08:56:04.397744 | controller | - ' fi' 2025-11-25 08:56:04.397749 | controller | - ' done' 2025-11-25 08:56:04.397755 | controller | - ' ]' 2025-11-25 08:56:04.397761 | controller | - ' logger.go:42: 08:51:12 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.397767 | controller | : do not match regex' 2025-11-25 08:56:04.397773 | controller | - ' logger.go:42: 08:51:13 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.397779 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.397784 | controller | rely on' 2025-11-25 08:56:04.397790 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.397796 | controller | and checks that' 2025-11-25 08:56:04.397802 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.397808 | controller | pattern' 2025-11-25 08:56:04.397814 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.397819 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.397825 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.397831 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.397837 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.397843 | controller | - ' exit 0' 2025-11-25 08:56:04.397849 | controller | - ' else' 2025-11-25 08:56:04.397854 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.397860 | controller | - ' exit 1' 2025-11-25 08:56:04.397866 | controller | - ' fi' 2025-11-25 08:56:04.397872 | controller | - ' ' 2025-11-25 08:56:04.397878 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.397883 | controller | them with a script' 2025-11-25 08:56:04.397889 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.397895 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.397901 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.397907 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.397913 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.397924 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.397930 | controller | - ' # it is an image' 2025-11-25 08:56:04.397936 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.397942 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.397947 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.397953 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.397959 | controller | - ' case $NAME in' 2025-11-25 08:56:04.397965 | controller | - ' API)' 2025-11-25 08:56:04.397971 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.397976 | controller | - ' ;;' 2025-11-25 08:56:04.397982 | controller | - ' esac' 2025-11-25 08:56:04.397988 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.397994 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.398003 | controller | - ' exit 1' 2025-11-25 08:56:04.398008 | controller | - ' fi' 2025-11-25 08:56:04.398014 | controller | - ' fi' 2025-11-25 08:56:04.398020 | controller | - ' done' 2025-11-25 08:56:04.398026 | controller | - ' ]' 2025-11-25 08:56:04.398032 | controller | - ' logger.go:42: 08:51:13 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.398038 | controller | : do not match regex' 2025-11-25 08:56:04.398043 | controller | - ' logger.go:42: 08:51:14 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.398049 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.398055 | controller | rely on' 2025-11-25 08:56:04.398061 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.398067 | controller | and checks that' 2025-11-25 08:56:04.398073 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.398079 | controller | pattern' 2025-11-25 08:56:04.398084 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.398090 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.398099 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.398132 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.398138 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.398144 | controller | - ' exit 0' 2025-11-25 08:56:04.398150 | controller | - ' else' 2025-11-25 08:56:04.398163 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.398169 | controller | - ' exit 1' 2025-11-25 08:56:04.398175 | controller | - ' fi' 2025-11-25 08:56:04.398181 | controller | - ' ' 2025-11-25 08:56:04.398187 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.398193 | controller | them with a script' 2025-11-25 08:56:04.398199 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.398204 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.398210 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.398216 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.398222 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.398233 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.398239 | controller | - ' # it is an image' 2025-11-25 08:56:04.398245 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.398251 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.398257 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.398263 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.398268 | controller | - ' case $NAME in' 2025-11-25 08:56:04.398274 | controller | - ' API)' 2025-11-25 08:56:04.398280 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.398286 | controller | - ' ;;' 2025-11-25 08:56:04.398292 | controller | - ' esac' 2025-11-25 08:56:04.398298 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.398303 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.398309 | controller | - ' exit 1' 2025-11-25 08:56:04.398315 | controller | - ' fi' 2025-11-25 08:56:04.398321 | controller | - ' fi' 2025-11-25 08:56:04.398330 | controller | - ' done' 2025-11-25 08:56:04.398336 | controller | - ' ]' 2025-11-25 08:56:04.398342 | controller | - ' logger.go:42: 08:51:15 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.398348 | controller | : do not match regex' 2025-11-25 08:56:04.398359 | controller | - ' logger.go:42: 08:51:16 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.398365 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.398371 | controller | rely on' 2025-11-25 08:56:04.398377 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.398382 | controller | and checks that' 2025-11-25 08:56:04.398388 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.398394 | controller | pattern' 2025-11-25 08:56:04.398400 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.398406 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.398414 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.398420 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.398426 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.398434 | controller | - ' exit 0' 2025-11-25 08:56:04.398440 | controller | - ' else' 2025-11-25 08:56:04.398445 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.398451 | controller | - ' exit 1' 2025-11-25 08:56:04.398457 | controller | - ' fi' 2025-11-25 08:56:04.398463 | controller | - ' ' 2025-11-25 08:56:04.398469 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.398475 | controller | them with a script' 2025-11-25 08:56:04.398480 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.398486 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.398492 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.398498 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.398504 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.398515 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.398521 | controller | - ' # it is an image' 2025-11-25 08:56:04.398527 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.398533 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.398539 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.398545 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.398550 | controller | - ' case $NAME in' 2025-11-25 08:56:04.398556 | controller | - ' API)' 2025-11-25 08:56:04.398562 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.398568 | controller | - ' ;;' 2025-11-25 08:56:04.398574 | controller | - ' esac' 2025-11-25 08:56:04.398580 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.398585 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.398591 | controller | - ' exit 1' 2025-11-25 08:56:04.398597 | controller | - ' fi' 2025-11-25 08:56:04.398603 | controller | - ' fi' 2025-11-25 08:56:04.398611 | controller | - ' done' 2025-11-25 08:56:04.398617 | controller | - ' ]' 2025-11-25 08:56:04.398629 | controller | - ' logger.go:42: 08:51:16 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.398638 | controller | : do not match regex' 2025-11-25 08:56:04.398644 | controller | - ' logger.go:42: 08:51:17 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.398650 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.398656 | controller | rely on' 2025-11-25 08:56:04.398661 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.398667 | controller | and checks that' 2025-11-25 08:56:04.398673 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.398679 | controller | pattern' 2025-11-25 08:56:04.398685 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.398691 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.398696 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.398702 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.398708 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.398714 | controller | - ' exit 0' 2025-11-25 08:56:04.398720 | controller | - ' else' 2025-11-25 08:56:04.398725 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.398731 | controller | - ' exit 1' 2025-11-25 08:56:04.398737 | controller | - ' fi' 2025-11-25 08:56:04.398743 | controller | - ' ' 2025-11-25 08:56:04.398749 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.398755 | controller | them with a script' 2025-11-25 08:56:04.398760 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.398766 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.398772 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.398778 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.398784 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.398795 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.398801 | controller | - ' # it is an image' 2025-11-25 08:56:04.398807 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.398813 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.398819 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.398824 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.398830 | controller | - ' case $NAME in' 2025-11-25 08:56:04.398836 | controller | - ' API)' 2025-11-25 08:56:04.398842 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.398848 | controller | - ' ;;' 2025-11-25 08:56:04.398853 | controller | - ' esac' 2025-11-25 08:56:04.398859 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.398865 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.398871 | controller | - ' exit 1' 2025-11-25 08:56:04.398877 | controller | - ' fi' 2025-11-25 08:56:04.398883 | controller | - ' fi' 2025-11-25 08:56:04.398888 | controller | - ' done' 2025-11-25 08:56:04.398894 | controller | - ' ]' 2025-11-25 08:56:04.398900 | controller | - ' logger.go:42: 08:51:17 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.398906 | controller | : do not match regex' 2025-11-25 08:56:04.398912 | controller | - ' logger.go:42: 08:51:18 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.398920 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.398926 | controller | rely on' 2025-11-25 08:56:04.398932 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.398938 | controller | and checks that' 2025-11-25 08:56:04.398944 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.398949 | controller | pattern' 2025-11-25 08:56:04.398956 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.398964 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.398971 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.398978 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.398985 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.398992 | controller | - ' exit 0' 2025-11-25 08:56:04.398999 | controller | - ' else' 2025-11-25 08:56:04.399007 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.399014 | controller | - ' exit 1' 2025-11-25 08:56:04.399021 | controller | - ' fi' 2025-11-25 08:56:04.399029 | controller | - ' ' 2025-11-25 08:56:04.399036 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.399044 | controller | them with a script' 2025-11-25 08:56:04.399051 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.399058 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.399063 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.399069 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.399083 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.399095 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.399119 | controller | - ' # it is an image' 2025-11-25 08:56:04.399126 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.399132 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.399138 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.399143 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.399149 | controller | - ' case $NAME in' 2025-11-25 08:56:04.399155 | controller | - ' API)' 2025-11-25 08:56:04.399161 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.399167 | controller | - ' ;;' 2025-11-25 08:56:04.399173 | controller | - ' esac' 2025-11-25 08:56:04.399178 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.399184 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.399190 | controller | - ' exit 1' 2025-11-25 08:56:04.399196 | controller | - ' fi' 2025-11-25 08:56:04.399203 | controller | - ' fi' 2025-11-25 08:56:04.399211 | controller | - ' done' 2025-11-25 08:56:04.399219 | controller | - ' ]' 2025-11-25 08:56:04.399227 | controller | - ' logger.go:42: 08:51:19 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.399233 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.399239 | controller | rely on' 2025-11-25 08:56:04.399244 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.399250 | controller | and checks that' 2025-11-25 08:56:04.399256 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.399265 | controller | pattern' 2025-11-25 08:56:04.399271 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.399277 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.399283 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.399289 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.399295 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.399300 | controller | - ' exit 0' 2025-11-25 08:56:04.399307 | controller | - ' else' 2025-11-25 08:56:04.399331 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.399337 | controller | - ' exit 1' 2025-11-25 08:56:04.399343 | controller | - ' fi' 2025-11-25 08:56:04.399349 | controller | - ' ' 2025-11-25 08:56:04.399355 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.399360 | controller | them with a script' 2025-11-25 08:56:04.399371 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.399378 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.399386 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.399394 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.399402 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.399417 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.399424 | controller | - ' # it is an image' 2025-11-25 08:56:04.399431 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.399438 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.399445 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.399451 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.399458 | controller | - ' case $NAME in' 2025-11-25 08:56:04.399466 | controller | - ' API)' 2025-11-25 08:56:04.399474 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.399481 | controller | - ' ;;' 2025-11-25 08:56:04.399493 | controller | - ' esac' 2025-11-25 08:56:04.399500 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.399506 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.399512 | controller | - ' exit 1' 2025-11-25 08:56:04.399518 | controller | - ' fi' 2025-11-25 08:56:04.399524 | controller | - ' fi' 2025-11-25 08:56:04.399530 | controller | - ' done' 2025-11-25 08:56:04.399536 | controller | - ' ]' 2025-11-25 08:56:04.399541 | controller | - ' logger.go:42: 08:51:20 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.399547 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.399553 | controller | rely on' 2025-11-25 08:56:04.399559 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.399565 | controller | and checks that' 2025-11-25 08:56:04.399570 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.399576 | controller | pattern' 2025-11-25 08:56:04.399582 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.399588 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.399594 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.399617 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.399635 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.399643 | controller | - ' exit 0' 2025-11-25 08:56:04.399650 | controller | - ' else' 2025-11-25 08:56:04.399658 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.399665 | controller | - ' exit 1' 2025-11-25 08:56:04.399673 | controller | - ' fi' 2025-11-25 08:56:04.399680 | controller | - ' ' 2025-11-25 08:56:04.399687 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.399695 | controller | them with a script' 2025-11-25 08:56:04.399702 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.399709 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.399716 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.399724 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.399731 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.399747 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.399753 | controller | - ' # it is an image' 2025-11-25 08:56:04.399759 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.399765 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.399771 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.399777 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.399783 | controller | - ' case $NAME in' 2025-11-25 08:56:04.399789 | controller | - ' API)' 2025-11-25 08:56:04.399795 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.399800 | controller | - ' ;;' 2025-11-25 08:56:04.399806 | controller | - ' esac' 2025-11-25 08:56:04.399812 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.399818 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.399824 | controller | - ' exit 1' 2025-11-25 08:56:04.399832 | controller | - ' fi' 2025-11-25 08:56:04.399838 | controller | - ' fi' 2025-11-25 08:56:04.399844 | controller | - ' done' 2025-11-25 08:56:04.399850 | controller | - ' ]' 2025-11-25 08:56:04.399856 | controller | - ' logger.go:42: 08:51:21 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.399862 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.399867 | controller | rely on' 2025-11-25 08:56:04.399873 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.399879 | controller | and checks that' 2025-11-25 08:56:04.399888 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.399894 | controller | pattern' 2025-11-25 08:56:04.399900 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.399906 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.399911 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.399917 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.399923 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.399929 | controller | - ' exit 0' 2025-11-25 08:56:04.399935 | controller | - ' else' 2025-11-25 08:56:04.399941 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.399950 | controller | - ' exit 1' 2025-11-25 08:56:04.399956 | controller | - ' fi' 2025-11-25 08:56:04.399962 | controller | - ' ' 2025-11-25 08:56:04.399968 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.399974 | controller | them with a script' 2025-11-25 08:56:04.399979 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.399985 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.399991 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.399997 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.400003 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.400015 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.400020 | controller | - ' # it is an image' 2025-11-25 08:56:04.400026 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.400032 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.400038 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.400044 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.400050 | controller | - ' case $NAME in' 2025-11-25 08:56:04.400055 | controller | - ' API)' 2025-11-25 08:56:04.400061 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.400067 | controller | - ' ;;' 2025-11-25 08:56:04.400073 | controller | - ' esac' 2025-11-25 08:56:04.400079 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.400087 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.400093 | controller | - ' exit 1' 2025-11-25 08:56:04.400119 | controller | - ' fi' 2025-11-25 08:56:04.400130 | controller | - ' fi' 2025-11-25 08:56:04.400136 | controller | - ' done' 2025-11-25 08:56:04.400142 | controller | - ' ]' 2025-11-25 08:56:04.400155 | controller | - ' logger.go:42: 08:51:23 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.400162 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.400168 | controller | rely on' 2025-11-25 08:56:04.400174 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.400179 | controller | and checks that' 2025-11-25 08:56:04.400185 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.400191 | controller | pattern' 2025-11-25 08:56:04.400197 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.400203 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.400209 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.400215 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.400220 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.400226 | controller | - ' exit 0' 2025-11-25 08:56:04.400232 | controller | - ' else' 2025-11-25 08:56:04.400238 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.400244 | controller | - ' exit 1' 2025-11-25 08:56:04.400250 | controller | - ' fi' 2025-11-25 08:56:04.400255 | controller | - ' ' 2025-11-25 08:56:04.400261 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.400267 | controller | them with a script' 2025-11-25 08:56:04.400273 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.400285 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.400291 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.400297 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.400302 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.400314 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.400320 | controller | - ' # it is an image' 2025-11-25 08:56:04.400326 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.400331 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.400337 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.400343 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.400349 | controller | - ' case $NAME in' 2025-11-25 08:56:04.400355 | controller | - ' API)' 2025-11-25 08:56:04.400361 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.400367 | controller | - ' ;;' 2025-11-25 08:56:04.400372 | controller | - ' esac' 2025-11-25 08:56:04.400378 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.400384 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.400390 | controller | - ' exit 1' 2025-11-25 08:56:04.400396 | controller | - ' fi' 2025-11-25 08:56:04.400402 | controller | - ' fi' 2025-11-25 08:56:04.400408 | controller | - ' done' 2025-11-25 08:56:04.400413 | controller | - ' ]' 2025-11-25 08:56:04.400419 | controller | - ' logger.go:42: 08:51:24 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.400425 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.400431 | controller | rely on' 2025-11-25 08:56:04.400437 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.400443 | controller | and checks that' 2025-11-25 08:56:04.400449 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.400454 | controller | pattern' 2025-11-25 08:56:04.400460 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.400466 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.400472 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.400478 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.400484 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.400490 | controller | - ' exit 0' 2025-11-25 08:56:04.400496 | controller | - ' else' 2025-11-25 08:56:04.400501 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.400507 | controller | - ' exit 1' 2025-11-25 08:56:04.400513 | controller | - ' fi' 2025-11-25 08:56:04.400519 | controller | - ' ' 2025-11-25 08:56:04.400528 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.400534 | controller | them with a script' 2025-11-25 08:56:04.400540 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.400546 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.400551 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.400557 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.400565 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.400580 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.400586 | controller | - ' # it is an image' 2025-11-25 08:56:04.400592 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.400605 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.400611 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.400617 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.400623 | controller | - ' case $NAME in' 2025-11-25 08:56:04.400629 | controller | - ' API)' 2025-11-25 08:56:04.400634 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.400640 | controller | - ' ;;' 2025-11-25 08:56:04.400646 | controller | - ' esac' 2025-11-25 08:56:04.400652 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.400658 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.400664 | controller | - ' exit 1' 2025-11-25 08:56:04.400670 | controller | - ' fi' 2025-11-25 08:56:04.400676 | controller | - ' fi' 2025-11-25 08:56:04.400682 | controller | - ' done' 2025-11-25 08:56:04.400687 | controller | - ' ]' 2025-11-25 08:56:04.400693 | controller | - ' logger.go:42: 08:51:25 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.400699 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.400705 | controller | rely on' 2025-11-25 08:56:04.400711 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.400717 | controller | and checks that' 2025-11-25 08:56:04.400722 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.400728 | controller | pattern' 2025-11-25 08:56:04.400734 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.400740 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.400746 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.400752 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.400758 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.400764 | controller | - ' exit 0' 2025-11-25 08:56:04.400769 | controller | - ' else' 2025-11-25 08:56:04.400775 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.400781 | controller | - ' exit 1' 2025-11-25 08:56:04.400787 | controller | - ' fi' 2025-11-25 08:56:04.400793 | controller | - ' ' 2025-11-25 08:56:04.400799 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.400805 | controller | them with a script' 2025-11-25 08:56:04.400811 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.400816 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.400822 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.400828 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.400834 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.400846 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.400852 | controller | - ' # it is an image' 2025-11-25 08:56:04.400858 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.400867 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.400873 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.400879 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.400885 | controller | - ' case $NAME in' 2025-11-25 08:56:04.400891 | controller | - ' API)' 2025-11-25 08:56:04.400897 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.400903 | controller | - ' ;;' 2025-11-25 08:56:04.400908 | controller | - ' esac' 2025-11-25 08:56:04.400914 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.400920 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.400926 | controller | - ' exit 1' 2025-11-25 08:56:04.400932 | controller | - ' fi' 2025-11-25 08:56:04.400938 | controller | - ' fi' 2025-11-25 08:56:04.400944 | controller | - ' done' 2025-11-25 08:56:04.400950 | controller | - ' ]' 2025-11-25 08:56:04.400955 | controller | - ' logger.go:42: 08:51:26 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.400961 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.400967 | controller | rely on' 2025-11-25 08:56:04.400975 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.400981 | controller | and checks that' 2025-11-25 08:56:04.400987 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.400993 | controller | pattern' 2025-11-25 08:56:04.400999 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.401005 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.401010 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.401016 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.401022 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.401028 | controller | - ' exit 0' 2025-11-25 08:56:04.401034 | controller | - ' else' 2025-11-25 08:56:04.401040 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.401046 | controller | - ' exit 1' 2025-11-25 08:56:04.401061 | controller | - ' fi' 2025-11-25 08:56:04.401067 | controller | - ' ' 2025-11-25 08:56:04.401073 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.401079 | controller | them with a script' 2025-11-25 08:56:04.401085 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.401090 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.401099 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.401118 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.401124 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.401136 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.401142 | controller | - ' # it is an image' 2025-11-25 08:56:04.401147 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.401153 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.401159 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.401165 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.401171 | controller | - ' case $NAME in' 2025-11-25 08:56:04.401177 | controller | - ' API)' 2025-11-25 08:56:04.401186 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.401191 | controller | - ' ;;' 2025-11-25 08:56:04.401197 | controller | - ' esac' 2025-11-25 08:56:04.401203 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.401209 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.401215 | controller | - ' exit 1' 2025-11-25 08:56:04.401221 | controller | - ' fi' 2025-11-25 08:56:04.401227 | controller | - ' fi' 2025-11-25 08:56:04.401232 | controller | - ' done' 2025-11-25 08:56:04.401238 | controller | - ' ]' 2025-11-25 08:56:04.401244 | controller | - ' logger.go:42: 08:51:27 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.401250 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.401256 | controller | rely on' 2025-11-25 08:56:04.401262 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.401267 | controller | and checks that' 2025-11-25 08:56:04.401273 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.401279 | controller | pattern' 2025-11-25 08:56:04.401285 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.401291 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.401297 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.401303 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.401308 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.401314 | controller | - ' exit 0' 2025-11-25 08:56:04.401320 | controller | - ' else' 2025-11-25 08:56:04.401326 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.401332 | controller | - ' exit 1' 2025-11-25 08:56:04.401338 | controller | - ' fi' 2025-11-25 08:56:04.401343 | controller | - ' ' 2025-11-25 08:56:04.401349 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.401355 | controller | them with a script' 2025-11-25 08:56:04.401361 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.401367 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.401373 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.401378 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.401384 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.401396 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.401402 | controller | - ' # it is an image' 2025-11-25 08:56:04.401408 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.401413 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.401419 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.401425 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.401431 | controller | - ' case $NAME in' 2025-11-25 08:56:04.401437 | controller | - ' API)' 2025-11-25 08:56:04.401443 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.401448 | controller | - ' ;;' 2025-11-25 08:56:04.401454 | controller | - ' esac' 2025-11-25 08:56:04.401460 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.401466 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.401474 | controller | - ' exit 1' 2025-11-25 08:56:04.401480 | controller | - ' fi' 2025-11-25 08:56:04.401486 | controller | - ' fi' 2025-11-25 08:56:04.401492 | controller | - ' done' 2025-11-25 08:56:04.401498 | controller | - ' ]' 2025-11-25 08:56:04.401504 | controller | - ' logger.go:42: 08:51:28 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.401510 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.401515 | controller | rely on' 2025-11-25 08:56:04.401528 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.401534 | controller | and checks that' 2025-11-25 08:56:04.401543 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.401549 | controller | pattern' 2025-11-25 08:56:04.401555 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.401562 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.401574 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.401589 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.401602 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.401610 | controller | - ' exit 0' 2025-11-25 08:56:04.401616 | controller | - ' else' 2025-11-25 08:56:04.401621 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.401627 | controller | - ' exit 1' 2025-11-25 08:56:04.401633 | controller | - ' fi' 2025-11-25 08:56:04.401639 | controller | - ' ' 2025-11-25 08:56:04.401645 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.401650 | controller | them with a script' 2025-11-25 08:56:04.401656 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.401662 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.401668 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.401674 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.401680 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.401691 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.401697 | controller | - ' # it is an image' 2025-11-25 08:56:04.401703 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.401709 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.401714 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.401720 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.401726 | controller | - ' case $NAME in' 2025-11-25 08:56:04.401732 | controller | - ' API)' 2025-11-25 08:56:04.401738 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.401744 | controller | - ' ;;' 2025-11-25 08:56:04.401749 | controller | - ' esac' 2025-11-25 08:56:04.401755 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.401761 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.401767 | controller | - ' exit 1' 2025-11-25 08:56:04.401773 | controller | - ' fi' 2025-11-25 08:56:04.401779 | controller | - ' fi' 2025-11-25 08:56:04.401784 | controller | - ' done' 2025-11-25 08:56:04.401790 | controller | - ' ]' 2025-11-25 08:56:04.401796 | controller | - ' logger.go:42: 08:51:30 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.401805 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.401811 | controller | rely on' 2025-11-25 08:56:04.401817 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.401823 | controller | and checks that' 2025-11-25 08:56:04.401829 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.401835 | controller | pattern' 2025-11-25 08:56:04.401841 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.401847 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.401853 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.401858 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.401864 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.401870 | controller | - ' exit 0' 2025-11-25 08:56:04.401876 | controller | - ' else' 2025-11-25 08:56:04.401882 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.401887 | controller | - ' exit 1' 2025-11-25 08:56:04.401893 | controller | - ' fi' 2025-11-25 08:56:04.401899 | controller | - ' ' 2025-11-25 08:56:04.401905 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.401911 | controller | them with a script' 2025-11-25 08:56:04.401917 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.401922 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.401928 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.401934 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.401940 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.401952 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.401957 | controller | - ' # it is an image' 2025-11-25 08:56:04.401963 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.401969 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.401975 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.401981 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.401997 | controller | - ' case $NAME in' 2025-11-25 08:56:04.402003 | controller | - ' API)' 2025-11-25 08:56:04.402009 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.402015 | controller | - ' ;;' 2025-11-25 08:56:04.402021 | controller | - ' esac' 2025-11-25 08:56:04.402027 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.402033 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.402038 | controller | - ' exit 1' 2025-11-25 08:56:04.402044 | controller | - ' fi' 2025-11-25 08:56:04.402050 | controller | - ' fi' 2025-11-25 08:56:04.402056 | controller | - ' done' 2025-11-25 08:56:04.402062 | controller | - ' ]' 2025-11-25 08:56:04.402068 | controller | - ' logger.go:42: 08:51:31 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.402073 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.402079 | controller | rely on' 2025-11-25 08:56:04.402085 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.402091 | controller | and checks that' 2025-11-25 08:56:04.402120 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.402134 | controller | pattern' 2025-11-25 08:56:04.402140 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.402146 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.402152 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.402158 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.402164 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.402170 | controller | - ' exit 0' 2025-11-25 08:56:04.402175 | controller | - ' else' 2025-11-25 08:56:04.402181 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.402187 | controller | - ' exit 1' 2025-11-25 08:56:04.402193 | controller | - ' fi' 2025-11-25 08:56:04.402199 | controller | - ' ' 2025-11-25 08:56:04.402205 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.402210 | controller | them with a script' 2025-11-25 08:56:04.402220 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.402225 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.402231 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.402237 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.402243 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.402255 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.402261 | controller | - ' # it is an image' 2025-11-25 08:56:04.402266 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.402272 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.402278 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.402284 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.402290 | controller | - ' case $NAME in' 2025-11-25 08:56:04.402295 | controller | - ' API)' 2025-11-25 08:56:04.402301 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.402307 | controller | - ' ;;' 2025-11-25 08:56:04.402313 | controller | - ' esac' 2025-11-25 08:56:04.402319 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.402325 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.402331 | controller | - ' exit 1' 2025-11-25 08:56:04.402336 | controller | - ' fi' 2025-11-25 08:56:04.402342 | controller | - ' fi' 2025-11-25 08:56:04.402348 | controller | - ' done' 2025-11-25 08:56:04.402354 | controller | - ' ]' 2025-11-25 08:56:04.402360 | controller | - ' logger.go:42: 08:51:32 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.402366 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.402371 | controller | rely on' 2025-11-25 08:56:04.402377 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.402383 | controller | and checks that' 2025-11-25 08:56:04.402389 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.402395 | controller | pattern' 2025-11-25 08:56:04.402401 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.402407 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.402412 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.402421 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.402427 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.402433 | controller | - ' exit 0' 2025-11-25 08:56:04.402439 | controller | - ' else' 2025-11-25 08:56:04.402444 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.402450 | controller | - ' exit 1' 2025-11-25 08:56:04.402456 | controller | - ' fi' 2025-11-25 08:56:04.402462 | controller | - ' ' 2025-11-25 08:56:04.402468 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.402474 | controller | them with a script' 2025-11-25 08:56:04.402487 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.402493 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.402499 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.402505 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.402511 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.402526 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.402532 | controller | - ' # it is an image' 2025-11-25 08:56:04.402538 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.402544 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.402555 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.402561 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.402567 | controller | - ' case $NAME in' 2025-11-25 08:56:04.402573 | controller | - ' API)' 2025-11-25 08:56:04.402578 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.402584 | controller | - ' ;;' 2025-11-25 08:56:04.402590 | controller | - ' esac' 2025-11-25 08:56:04.402596 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.402602 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.402607 | controller | - ' exit 1' 2025-11-25 08:56:04.402613 | controller | - ' fi' 2025-11-25 08:56:04.402619 | controller | - ' fi' 2025-11-25 08:56:04.402625 | controller | - ' done' 2025-11-25 08:56:04.402631 | controller | - ' ]' 2025-11-25 08:56:04.402637 | controller | - ' logger.go:42: 08:51:33 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.402643 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.402648 | controller | rely on' 2025-11-25 08:56:04.402657 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.402663 | controller | and checks that' 2025-11-25 08:56:04.402668 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.402674 | controller | pattern' 2025-11-25 08:56:04.402680 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.402686 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.402692 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.402698 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.402704 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.402709 | controller | - ' exit 0' 2025-11-25 08:56:04.402715 | controller | - ' else' 2025-11-25 08:56:04.402721 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.402730 | controller | - ' exit 1' 2025-11-25 08:56:04.402736 | controller | - ' fi' 2025-11-25 08:56:04.402742 | controller | - ' ' 2025-11-25 08:56:04.402747 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.402753 | controller | them with a script' 2025-11-25 08:56:04.402762 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.402768 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.402773 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.402779 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.402785 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.402797 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.402803 | controller | - ' # it is an image' 2025-11-25 08:56:04.402809 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.402814 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.402820 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.402828 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.402834 | controller | - ' case $NAME in' 2025-11-25 08:56:04.402840 | controller | - ' API)' 2025-11-25 08:56:04.402846 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.402852 | controller | - ' ;;' 2025-11-25 08:56:04.402858 | controller | - ' esac' 2025-11-25 08:56:04.402864 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.402870 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.402876 | controller | - ' exit 1' 2025-11-25 08:56:04.402882 | controller | - ' fi' 2025-11-25 08:56:04.402888 | controller | - ' fi' 2025-11-25 08:56:04.402894 | controller | - ' done' 2025-11-25 08:56:04.402899 | controller | - ' ]' 2025-11-25 08:56:04.402905 | controller | - ' logger.go:42: 08:51:34 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.402911 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.402917 | controller | rely on' 2025-11-25 08:56:04.402923 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.402929 | controller | and checks that' 2025-11-25 08:56:04.402935 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.402941 | controller | pattern' 2025-11-25 08:56:04.402954 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.402960 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.402966 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.402972 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.402978 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.402984 | controller | - ' exit 0' 2025-11-25 08:56:04.402990 | controller | - ' else' 2025-11-25 08:56:04.402996 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.403002 | controller | - ' exit 1' 2025-11-25 08:56:04.403008 | controller | - ' fi' 2025-11-25 08:56:04.403014 | controller | - ' ' 2025-11-25 08:56:04.403019 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.403025 | controller | them with a script' 2025-11-25 08:56:04.403034 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.403040 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.403046 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.403052 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.403058 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.403070 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.403076 | controller | - ' # it is an image' 2025-11-25 08:56:04.403082 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.403088 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.403094 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.403122 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.403141 | controller | - ' case $NAME in' 2025-11-25 08:56:04.403150 | controller | - ' API)' 2025-11-25 08:56:04.403158 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.403166 | controller | - ' ;;' 2025-11-25 08:56:04.403173 | controller | - ' esac' 2025-11-25 08:56:04.403181 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.403188 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.403195 | controller | - ' exit 1' 2025-11-25 08:56:04.403203 | controller | - ' fi' 2025-11-25 08:56:04.403210 | controller | - ' fi' 2025-11-25 08:56:04.403215 | controller | - ' done' 2025-11-25 08:56:04.403221 | controller | - ' ]' 2025-11-25 08:56:04.403227 | controller | - ' logger.go:42: 08:51:36 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.403233 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.403239 | controller | rely on' 2025-11-25 08:56:04.403245 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.403251 | controller | and checks that' 2025-11-25 08:56:04.403257 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.403263 | controller | pattern' 2025-11-25 08:56:04.403269 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.403279 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.403285 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.403291 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.403297 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.403303 | controller | - ' exit 0' 2025-11-25 08:56:04.403309 | controller | - ' else' 2025-11-25 08:56:04.403315 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.403341 | controller | - ' exit 1' 2025-11-25 08:56:04.403349 | controller | - ' fi' 2025-11-25 08:56:04.403355 | controller | - ' ' 2025-11-25 08:56:04.403361 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.403367 | controller | them with a script' 2025-11-25 08:56:04.403373 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.403379 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.403385 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.403391 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.403400 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.403412 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.403418 | controller | - ' # it is an image' 2025-11-25 08:56:04.403424 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.403430 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.403436 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.403442 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.403448 | controller | - ' case $NAME in' 2025-11-25 08:56:04.403454 | controller | - ' API)' 2025-11-25 08:56:04.403460 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.403466 | controller | - ' ;;' 2025-11-25 08:56:04.403471 | controller | - ' esac' 2025-11-25 08:56:04.403490 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.403497 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.403503 | controller | - ' exit 1' 2025-11-25 08:56:04.403509 | controller | - ' fi' 2025-11-25 08:56:04.403515 | controller | - ' fi' 2025-11-25 08:56:04.403523 | controller | - ' done' 2025-11-25 08:56:04.403530 | controller | - ' ]' 2025-11-25 08:56:04.403538 | controller | - ' logger.go:42: 08:51:37 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.403545 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.403552 | controller | rely on' 2025-11-25 08:56:04.403559 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.403567 | controller | and checks that' 2025-11-25 08:56:04.403575 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.403582 | controller | pattern' 2025-11-25 08:56:04.403590 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.403597 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.403604 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.403611 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.403618 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.403624 | controller | - ' exit 0' 2025-11-25 08:56:04.403630 | controller | - ' else' 2025-11-25 08:56:04.403636 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.403642 | controller | - ' exit 1' 2025-11-25 08:56:04.403648 | controller | - ' fi' 2025-11-25 08:56:04.403654 | controller | - ' ' 2025-11-25 08:56:04.403659 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.403665 | controller | them with a script' 2025-11-25 08:56:04.403671 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.403677 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.403683 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.403689 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.403694 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.403706 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.403712 | controller | - ' # it is an image' 2025-11-25 08:56:04.403718 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.403727 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.403733 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.403739 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.403745 | controller | - ' case $NAME in' 2025-11-25 08:56:04.403751 | controller | - ' API)' 2025-11-25 08:56:04.403757 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.403763 | controller | - ' ;;' 2025-11-25 08:56:04.403768 | controller | - ' esac' 2025-11-25 08:56:04.403774 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.403780 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.403786 | controller | - ' exit 1' 2025-11-25 08:56:04.403792 | controller | - ' fi' 2025-11-25 08:56:04.403798 | controller | - ' fi' 2025-11-25 08:56:04.403803 | controller | - ' done' 2025-11-25 08:56:04.403809 | controller | - ' ]' 2025-11-25 08:56:04.403815 | controller | - ' logger.go:42: 08:51:38 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.403824 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.403830 | controller | rely on' 2025-11-25 08:56:04.403836 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.403842 | controller | and checks that' 2025-11-25 08:56:04.403847 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.403853 | controller | pattern' 2025-11-25 08:56:04.403859 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.403865 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.403871 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.403877 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.403882 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.403888 | controller | - ' exit 0' 2025-11-25 08:56:04.403894 | controller | - ' else' 2025-11-25 08:56:04.403900 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.403906 | controller | - ' exit 1' 2025-11-25 08:56:04.403912 | controller | - ' fi' 2025-11-25 08:56:04.403918 | controller | - ' ' 2025-11-25 08:56:04.403923 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.403929 | controller | them with a script' 2025-11-25 08:56:04.403935 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.403941 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.403949 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.403965 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.403986 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.404003 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.404011 | controller | - ' # it is an image' 2025-11-25 08:56:04.404018 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.404025 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.404033 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.404045 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.404060 | controller | - ' case $NAME in' 2025-11-25 08:56:04.404068 | controller | - ' API)' 2025-11-25 08:56:04.404081 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.404089 | controller | - ' ;;' 2025-11-25 08:56:04.404113 | controller | - ' esac' 2025-11-25 08:56:04.404124 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.404132 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.404139 | controller | - ' exit 1' 2025-11-25 08:56:04.404147 | controller | - ' fi' 2025-11-25 08:56:04.404155 | controller | - ' fi' 2025-11-25 08:56:04.404162 | controller | - ' done' 2025-11-25 08:56:04.404170 | controller | - ' ]' 2025-11-25 08:56:04.404177 | controller | - ' logger.go:42: 08:51:39 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.404185 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.404192 | controller | rely on' 2025-11-25 08:56:04.404200 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.404207 | controller | and checks that' 2025-11-25 08:56:04.404215 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.404223 | controller | pattern' 2025-11-25 08:56:04.404230 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.404238 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.404245 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.404253 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.404261 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.404268 | controller | - ' exit 0' 2025-11-25 08:56:04.404276 | controller | - ' else' 2025-11-25 08:56:04.404283 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.404290 | controller | - ' exit 1' 2025-11-25 08:56:04.404297 | controller | - ' fi' 2025-11-25 08:56:04.404304 | controller | - ' ' 2025-11-25 08:56:04.404312 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.404320 | controller | them with a script' 2025-11-25 08:56:04.404328 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.404335 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.404343 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.404350 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.404358 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.404373 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.404380 | controller | - ' # it is an image' 2025-11-25 08:56:04.404388 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.404395 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.404402 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.404409 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.404416 | controller | - ' case $NAME in' 2025-11-25 08:56:04.404422 | controller | - ' API)' 2025-11-25 08:56:04.404428 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.404433 | controller | - ' ;;' 2025-11-25 08:56:04.404439 | controller | - ' esac' 2025-11-25 08:56:04.404445 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.404451 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.404461 | controller | - ' exit 1' 2025-11-25 08:56:04.404467 | controller | - ' fi' 2025-11-25 08:56:04.404473 | controller | - ' fi' 2025-11-25 08:56:04.404478 | controller | - ' done' 2025-11-25 08:56:04.404484 | controller | - ' ]' 2025-11-25 08:56:04.404490 | controller | - ' logger.go:42: 08:51:40 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.404496 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.404502 | controller | rely on' 2025-11-25 08:56:04.404508 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.404513 | controller | and checks that' 2025-11-25 08:56:04.404519 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.404525 | controller | pattern' 2025-11-25 08:56:04.404531 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.404537 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.404553 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.404559 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.404565 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.404571 | controller | - ' exit 0' 2025-11-25 08:56:04.404577 | controller | - ' else' 2025-11-25 08:56:04.404582 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.404588 | controller | - ' exit 1' 2025-11-25 08:56:04.404594 | controller | - ' fi' 2025-11-25 08:56:04.404600 | controller | - ' ' 2025-11-25 08:56:04.404606 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.404612 | controller | them with a script' 2025-11-25 08:56:04.404618 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.404623 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.404629 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.404635 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.404641 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.404652 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.404658 | controller | - ' # it is an image' 2025-11-25 08:56:04.404664 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.404670 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.404676 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.404682 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.404687 | controller | - ' case $NAME in' 2025-11-25 08:56:04.404693 | controller | - ' API)' 2025-11-25 08:56:04.404699 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.404705 | controller | - ' ;;' 2025-11-25 08:56:04.404711 | controller | - ' esac' 2025-11-25 08:56:04.404721 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.404727 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.404732 | controller | - ' exit 1' 2025-11-25 08:56:04.404738 | controller | - ' fi' 2025-11-25 08:56:04.404744 | controller | - ' fi' 2025-11-25 08:56:04.404753 | controller | - ' done' 2025-11-25 08:56:04.404758 | controller | - ' ]' 2025-11-25 08:56:04.404764 | controller | - ' logger.go:42: 08:51:42 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.404776 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.404782 | controller | rely on' 2025-11-25 08:56:04.404787 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.404793 | controller | and checks that' 2025-11-25 08:56:04.404799 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.404805 | controller | pattern' 2025-11-25 08:56:04.404811 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.404817 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.404823 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.404828 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.404834 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.404840 | controller | - ' exit 0' 2025-11-25 08:56:04.404846 | controller | - ' else' 2025-11-25 08:56:04.404852 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.404858 | controller | - ' exit 1' 2025-11-25 08:56:04.404864 | controller | - ' fi' 2025-11-25 08:56:04.404869 | controller | - ' ' 2025-11-25 08:56:04.404875 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.404881 | controller | them with a script' 2025-11-25 08:56:04.404887 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.404893 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.404899 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.404904 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.404910 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.404922 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.404928 | controller | - ' # it is an image' 2025-11-25 08:56:04.404934 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.404942 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.404948 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.404954 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.404960 | controller | - ' case $NAME in' 2025-11-25 08:56:04.404966 | controller | - ' API)' 2025-11-25 08:56:04.404971 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.404977 | controller | - ' ;;' 2025-11-25 08:56:04.404983 | controller | - ' esac' 2025-11-25 08:56:04.404989 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.404995 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.405003 | controller | - ' exit 1' 2025-11-25 08:56:04.405009 | controller | - ' fi' 2025-11-25 08:56:04.405015 | controller | - ' fi' 2025-11-25 08:56:04.405021 | controller | - ' done' 2025-11-25 08:56:04.405033 | controller | - ' ]' 2025-11-25 08:56:04.405039 | controller | - ' logger.go:42: 08:51:43 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.405045 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.405051 | controller | rely on' 2025-11-25 08:56:04.405057 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.405063 | controller | and checks that' 2025-11-25 08:56:04.405069 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.405077 | controller | pattern' 2025-11-25 08:56:04.405083 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.405089 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.405095 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.405123 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.405130 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.405137 | controller | - ' exit 0' 2025-11-25 08:56:04.405145 | controller | - ' else' 2025-11-25 08:56:04.405153 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.405161 | controller | - ' exit 1' 2025-11-25 08:56:04.405168 | controller | - ' fi' 2025-11-25 08:56:04.405176 | controller | - ' ' 2025-11-25 08:56:04.405184 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.405192 | controller | them with a script' 2025-11-25 08:56:04.405199 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.405207 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.405214 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.405222 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.405230 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.405245 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.405252 | controller | - ' # it is an image' 2025-11-25 08:56:04.405259 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.405266 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.405271 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.405277 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.405283 | controller | - ' case $NAME in' 2025-11-25 08:56:04.405289 | controller | - ' API)' 2025-11-25 08:56:04.405295 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.405301 | controller | - ' ;;' 2025-11-25 08:56:04.405306 | controller | - ' esac' 2025-11-25 08:56:04.405312 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.405318 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.405324 | controller | - ' exit 1' 2025-11-25 08:56:04.405330 | controller | - ' fi' 2025-11-25 08:56:04.405336 | controller | - ' fi' 2025-11-25 08:56:04.405341 | controller | - ' done' 2025-11-25 08:56:04.405347 | controller | - ' ]' 2025-11-25 08:56:04.405353 | controller | - ' logger.go:42: 08:51:44 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.405359 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.405365 | controller | rely on' 2025-11-25 08:56:04.405370 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.405376 | controller | and checks that' 2025-11-25 08:56:04.405382 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.405388 | controller | pattern' 2025-11-25 08:56:04.405394 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.405400 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.405409 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.405415 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.405421 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.405427 | controller | - ' exit 0' 2025-11-25 08:56:04.405432 | controller | - ' else' 2025-11-25 08:56:04.405438 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.405444 | controller | - ' exit 1' 2025-11-25 08:56:04.405450 | controller | - ' fi' 2025-11-25 08:56:04.405456 | controller | - ' ' 2025-11-25 08:56:04.405462 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.405467 | controller | them with a script' 2025-11-25 08:56:04.405473 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.405479 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.405485 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.405491 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.405497 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.405512 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.405518 | controller | - ' # it is an image' 2025-11-25 08:56:04.405533 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.405540 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.405546 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.405552 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.405559 | controller | - ' case $NAME in' 2025-11-25 08:56:04.405575 | controller | - ' API)' 2025-11-25 08:56:04.405587 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.405595 | controller | - ' ;;' 2025-11-25 08:56:04.405602 | controller | - ' esac' 2025-11-25 08:56:04.405610 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.405617 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.405624 | controller | - ' exit 1' 2025-11-25 08:56:04.405631 | controller | - ' fi' 2025-11-25 08:56:04.405638 | controller | - ' fi' 2025-11-25 08:56:04.405644 | controller | - ' done' 2025-11-25 08:56:04.405650 | controller | - ' ]' 2025-11-25 08:56:04.405655 | controller | - ' logger.go:42: 08:51:45 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.405661 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.405667 | controller | rely on' 2025-11-25 08:56:04.405673 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.405679 | controller | and checks that' 2025-11-25 08:56:04.405685 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.405690 | controller | pattern' 2025-11-25 08:56:04.405696 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.405702 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.405708 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.405714 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.405720 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.405726 | controller | - ' exit 0' 2025-11-25 08:56:04.405731 | controller | - ' else' 2025-11-25 08:56:04.405737 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.405747 | controller | - ' exit 1' 2025-11-25 08:56:04.405753 | controller | - ' fi' 2025-11-25 08:56:04.405759 | controller | - ' ' 2025-11-25 08:56:04.405764 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.405770 | controller | them with a script' 2025-11-25 08:56:04.405776 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.405782 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.405788 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.405794 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.405800 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.405811 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.405817 | controller | - ' # it is an image' 2025-11-25 08:56:04.405823 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.405829 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.405835 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.405841 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.405847 | controller | - ' case $NAME in' 2025-11-25 08:56:04.405853 | controller | - ' API)' 2025-11-25 08:56:04.405858 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.405864 | controller | - ' ;;' 2025-11-25 08:56:04.405870 | controller | - ' esac' 2025-11-25 08:56:04.405876 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.405882 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.405888 | controller | - ' exit 1' 2025-11-25 08:56:04.405897 | controller | - ' fi' 2025-11-25 08:56:04.405903 | controller | - ' fi' 2025-11-25 08:56:04.405909 | controller | - ' done' 2025-11-25 08:56:04.405915 | controller | - ' ]' 2025-11-25 08:56:04.405921 | controller | - ' logger.go:42: 08:51:46 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.405927 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.405933 | controller | rely on' 2025-11-25 08:56:04.405938 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.405944 | controller | and checks that' 2025-11-25 08:56:04.405953 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.405958 | controller | pattern' 2025-11-25 08:56:04.405964 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.405970 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.405976 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.405982 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.405988 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.405994 | controller | - ' exit 0' 2025-11-25 08:56:04.405999 | controller | - ' else' 2025-11-25 08:56:04.406015 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.406022 | controller | - ' exit 1' 2025-11-25 08:56:04.406028 | controller | - ' fi' 2025-11-25 08:56:04.406033 | controller | - ' ' 2025-11-25 08:56:04.406039 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.406045 | controller | them with a script' 2025-11-25 08:56:04.406054 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.406060 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.406066 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.406072 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.406077 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.406089 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.406114 | controller | - ' # it is an image' 2025-11-25 08:56:04.406124 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.406130 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.406136 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.406142 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.406148 | controller | - ' case $NAME in' 2025-11-25 08:56:04.406154 | controller | - ' API)' 2025-11-25 08:56:04.406160 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.406165 | controller | - ' ;;' 2025-11-25 08:56:04.406171 | controller | - ' esac' 2025-11-25 08:56:04.406177 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.406183 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.406189 | controller | - ' exit 1' 2025-11-25 08:56:04.406195 | controller | - ' fi' 2025-11-25 08:56:04.406201 | controller | - ' fi' 2025-11-25 08:56:04.406206 | controller | - ' done' 2025-11-25 08:56:04.406212 | controller | - ' ]' 2025-11-25 08:56:04.406218 | controller | - ' logger.go:42: 08:51:47 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.406224 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.406230 | controller | rely on' 2025-11-25 08:56:04.406236 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.406245 | controller | and checks that' 2025-11-25 08:56:04.406251 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.406257 | controller | pattern' 2025-11-25 08:56:04.406263 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.406269 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.406275 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.406280 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.406286 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.406292 | controller | - ' exit 0' 2025-11-25 08:56:04.406298 | controller | - ' else' 2025-11-25 08:56:04.406304 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.406310 | controller | - ' exit 1' 2025-11-25 08:56:04.406316 | controller | - ' fi' 2025-11-25 08:56:04.406322 | controller | - ' ' 2025-11-25 08:56:04.406327 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.406333 | controller | them with a script' 2025-11-25 08:56:04.406339 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.406345 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.406351 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.406357 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.406365 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.406377 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.406383 | controller | - ' # it is an image' 2025-11-25 08:56:04.406389 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.406395 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.406403 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.406415 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.406430 | controller | - ' case $NAME in' 2025-11-25 08:56:04.406438 | controller | - ' API)' 2025-11-25 08:56:04.406446 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.406454 | controller | - ' ;;' 2025-11-25 08:56:04.406462 | controller | - ' esac' 2025-11-25 08:56:04.406469 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.406477 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.406485 | controller | - ' exit 1' 2025-11-25 08:56:04.406492 | controller | - ' fi' 2025-11-25 08:56:04.406500 | controller | - ' fi' 2025-11-25 08:56:04.406508 | controller | - ' done' 2025-11-25 08:56:04.406515 | controller | - ' ]' 2025-11-25 08:56:04.406523 | controller | - ' logger.go:42: 08:51:49 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.406531 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.406539 | controller | rely on' 2025-11-25 08:56:04.406557 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.406565 | controller | and checks that' 2025-11-25 08:56:04.406573 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.406580 | controller | pattern' 2025-11-25 08:56:04.406588 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.406595 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.406606 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.406613 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.406619 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.406625 | controller | - ' exit 0' 2025-11-25 08:56:04.406630 | controller | - ' else' 2025-11-25 08:56:04.406636 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.406642 | controller | - ' exit 1' 2025-11-25 08:56:04.406648 | controller | - ' fi' 2025-11-25 08:56:04.406654 | controller | - ' ' 2025-11-25 08:56:04.406660 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.406665 | controller | them with a script' 2025-11-25 08:56:04.406671 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.406677 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.406683 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.406689 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.406695 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.406706 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.406712 | controller | - ' # it is an image' 2025-11-25 08:56:04.406718 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.406728 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.406734 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.406740 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.406745 | controller | - ' case $NAME in' 2025-11-25 08:56:04.406751 | controller | - ' API)' 2025-11-25 08:56:04.406757 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.406763 | controller | - ' ;;' 2025-11-25 08:56:04.406769 | controller | - ' esac' 2025-11-25 08:56:04.406775 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.406781 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.406787 | controller | - ' exit 1' 2025-11-25 08:56:04.406792 | controller | - ' fi' 2025-11-25 08:56:04.406798 | controller | - ' fi' 2025-11-25 08:56:04.406804 | controller | - ' done' 2025-11-25 08:56:04.406810 | controller | - ' ]' 2025-11-25 08:56:04.406816 | controller | - ' logger.go:42: 08:51:50 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.406822 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.406828 | controller | rely on' 2025-11-25 08:56:04.406833 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.406839 | controller | and checks that' 2025-11-25 08:56:04.406845 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.406851 | controller | pattern' 2025-11-25 08:56:04.406857 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.406863 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.406869 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.406890 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.406896 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.406902 | controller | - ' exit 0' 2025-11-25 08:56:04.406908 | controller | - ' else' 2025-11-25 08:56:04.406914 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.406920 | controller | - ' exit 1' 2025-11-25 08:56:04.406926 | controller | - ' fi' 2025-11-25 08:56:04.406931 | controller | - ' ' 2025-11-25 08:56:04.406937 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.406943 | controller | them with a script' 2025-11-25 08:56:04.406949 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.406955 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.406961 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.406966 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.406972 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.406984 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.406990 | controller | - ' # it is an image' 2025-11-25 08:56:04.406996 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.407001 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.407007 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.407021 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.407027 | controller | - ' case $NAME in' 2025-11-25 08:56:04.407036 | controller | - ' API)' 2025-11-25 08:56:04.407042 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.407048 | controller | - ' ;;' 2025-11-25 08:56:04.407054 | controller | - ' esac' 2025-11-25 08:56:04.407060 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.407066 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.407071 | controller | - ' exit 1' 2025-11-25 08:56:04.407077 | controller | - ' fi' 2025-11-25 08:56:04.407083 | controller | - ' fi' 2025-11-25 08:56:04.407089 | controller | - ' done' 2025-11-25 08:56:04.407095 | controller | - ' ]' 2025-11-25 08:56:04.407120 | controller | - ' logger.go:42: 08:51:51 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.407127 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.407133 | controller | rely on' 2025-11-25 08:56:04.407139 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.407144 | controller | and checks that' 2025-11-25 08:56:04.407150 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.407156 | controller | pattern' 2025-11-25 08:56:04.407162 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.407168 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.407173 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.407179 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.407185 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.407191 | controller | - ' exit 0' 2025-11-25 08:56:04.407197 | controller | - ' else' 2025-11-25 08:56:04.407203 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.407208 | controller | - ' exit 1' 2025-11-25 08:56:04.407217 | controller | - ' fi' 2025-11-25 08:56:04.407223 | controller | - ' ' 2025-11-25 08:56:04.407229 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.407235 | controller | them with a script' 2025-11-25 08:56:04.407241 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.407247 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.407255 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.407261 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.407267 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.407278 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.407284 | controller | - ' # it is an image' 2025-11-25 08:56:04.407290 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.407296 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.407302 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.407307 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.407313 | controller | - ' case $NAME in' 2025-11-25 08:56:04.407319 | controller | - ' API)' 2025-11-25 08:56:04.407325 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.407331 | controller | - ' ;;' 2025-11-25 08:56:04.407376 | controller | - ' esac' 2025-11-25 08:56:04.407383 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.407393 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.407399 | controller | - ' exit 1' 2025-11-25 08:56:04.407406 | controller | - ' fi' 2025-11-25 08:56:04.407412 | controller | - ' fi' 2025-11-25 08:56:04.407419 | controller | - ' done' 2025-11-25 08:56:04.407425 | controller | - ' ]' 2025-11-25 08:56:04.407432 | controller | - ' logger.go:42: 08:51:52 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.407438 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.407445 | controller | rely on' 2025-11-25 08:56:04.407451 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.407458 | controller | and checks that' 2025-11-25 08:56:04.407464 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.407470 | controller | pattern' 2025-11-25 08:56:04.407477 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.407483 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.407490 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.407496 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.407503 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.407509 | controller | - ' exit 0' 2025-11-25 08:56:04.407516 | controller | - ' else' 2025-11-25 08:56:04.407522 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.407529 | controller | - ' exit 1' 2025-11-25 08:56:04.407535 | controller | - ' fi' 2025-11-25 08:56:04.407542 | controller | - ' ' 2025-11-25 08:56:04.407548 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.407554 | controller | them with a script' 2025-11-25 08:56:04.407568 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.407575 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.407582 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.407588 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.407595 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.407607 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.407613 | controller | - ' # it is an image' 2025-11-25 08:56:04.407619 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.407624 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.407630 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.407636 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.407642 | controller | - ' case $NAME in' 2025-11-25 08:56:04.407648 | controller | - ' API)' 2025-11-25 08:56:04.407654 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.407659 | controller | - ' ;;' 2025-11-25 08:56:04.407665 | controller | - ' esac' 2025-11-25 08:56:04.407671 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.407677 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.407683 | controller | - ' exit 1' 2025-11-25 08:56:04.407689 | controller | - ' fi' 2025-11-25 08:56:04.407694 | controller | - ' fi' 2025-11-25 08:56:04.407700 | controller | - ' done' 2025-11-25 08:56:04.407706 | controller | - ' ]' 2025-11-25 08:56:04.407712 | controller | - ' logger.go:42: 08:51:54 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.407721 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.407727 | controller | rely on' 2025-11-25 08:56:04.407733 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.407738 | controller | and checks that' 2025-11-25 08:56:04.407744 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.407750 | controller | pattern' 2025-11-25 08:56:04.407756 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.407762 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.407768 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.407773 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.407779 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.407785 | controller | - ' exit 0' 2025-11-25 08:56:04.407791 | controller | - ' else' 2025-11-25 08:56:04.407797 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.407802 | controller | - ' exit 1' 2025-11-25 08:56:04.407808 | controller | - ' fi' 2025-11-25 08:56:04.407814 | controller | - ' ' 2025-11-25 08:56:04.407820 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.407826 | controller | them with a script' 2025-11-25 08:56:04.407832 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.407837 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.407843 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.407849 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.407855 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.407867 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.407872 | controller | - ' # it is an image' 2025-11-25 08:56:04.407878 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.407884 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.407890 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.407896 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.407901 | controller | - ' case $NAME in' 2025-11-25 08:56:04.407907 | controller | - ' API)' 2025-11-25 08:56:04.407913 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.407919 | controller | - ' ;;' 2025-11-25 08:56:04.407925 | controller | - ' esac' 2025-11-25 08:56:04.407931 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.407936 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.407942 | controller | - ' exit 1' 2025-11-25 08:56:04.407948 | controller | - ' fi' 2025-11-25 08:56:04.407954 | controller | - ' fi' 2025-11-25 08:56:04.407960 | controller | - ' done' 2025-11-25 08:56:04.407965 | controller | - ' ]' 2025-11-25 08:56:04.407971 | controller | - ' logger.go:42: 08:51:55 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 08:56:04.407977 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.407983 | controller | rely on' 2025-11-25 08:56:04.407989 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.407994 | controller | and checks that' 2025-11-25 08:56:04.408000 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.408009 | controller | pattern' 2025-11-25 08:56:04.408021 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.408027 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.408033 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.408039 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.408045 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.408050 | controller | - ' exit 0' 2025-11-25 08:56:04.408056 | controller | - ' else' 2025-11-25 08:56:04.408062 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.408068 | controller | - ' exit 1' 2025-11-25 08:56:04.408074 | controller | - ' fi' 2025-11-25 08:56:04.408080 | controller | - ' ' 2025-11-25 08:56:04.408085 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.408091 | controller | them with a script' 2025-11-25 08:56:04.408099 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.408119 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.408125 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.408131 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.408137 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.408148 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.408154 | controller | - ' # it is an image' 2025-11-25 08:56:04.408160 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.408166 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.408172 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.408178 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.408183 | controller | - ' case $NAME in' 2025-11-25 08:56:04.408189 | controller | - ' API)' 2025-11-25 08:56:04.408195 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.408201 | controller | - ' ;;' 2025-11-25 08:56:04.408207 | controller | - ' esac' 2025-11-25 08:56:04.408213 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.408223 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.408228 | controller | - ' exit 1' 2025-11-25 08:56:04.408234 | controller | - ' fi' 2025-11-25 08:56:04.408240 | controller | - ' fi' 2025-11-25 08:56:04.408246 | controller | - ' done' 2025-11-25 08:56:04.408252 | controller | - ' ]' 2025-11-25 08:56:04.408258 | controller | - ' logger.go:42: 08:51:55 | keystone_resources/0-deploy_keystone | test step completed 2025-11-25 08:56:04.408263 | controller | 0-deploy_keystone' 2025-11-25 08:56:04.408269 | controller | - ' logger.go:42: 08:51:55 | keystone_resources/1-deploy-keystoneservice | starting 2025-11-25 08:56:04.408275 | controller | test step 1-deploy-keystoneservice' 2025-11-25 08:56:04.408281 | controller | - ' logger.go:42: 08:51:55 | keystone_resources/1-deploy-keystoneservice | KeystoneService:keystone-kuttl-tests/placement 2025-11-25 08:56:04.408287 | controller | created' 2025-11-25 08:56:04.408295 | controller | - ' logger.go:42: 08:51:57 | keystone_resources/1-deploy-keystoneservice | test 2025-11-25 08:56:04.408301 | controller | step completed 1-deploy-keystoneservice' 2025-11-25 08:56:04.408307 | controller | - ' logger.go:42: 08:51:57 | keystone_resources/2-deploy-keystoneendpoint | starting 2025-11-25 08:56:04.408315 | controller | test step 2-deploy-keystoneendpoint' 2025-11-25 08:56:04.408322 | controller | - ' logger.go:42: 08:51:57 | keystone_resources/2-deploy-keystoneendpoint | KeystoneEndpoint:keystone-kuttl-tests/placement 2025-11-25 08:56:04.408328 | controller | created' 2025-11-25 08:56:04.408334 | controller | - ' logger.go:42: 08:52:08 | keystone_resources/2-deploy-keystoneendpoint | test 2025-11-25 08:56:04.408340 | controller | step completed 2-deploy-keystoneendpoint' 2025-11-25 08:56:04.408346 | controller | - ' logger.go:42: 08:52:08 | keystone_resources/3-cleanup-keystoneendpoint | starting 2025-11-25 08:56:04.408355 | controller | test step 3-cleanup-keystoneendpoint' 2025-11-25 08:56:04.408361 | controller | - ' logger.go:42: 08:52:09 | keystone_resources/3-cleanup-keystoneendpoint | test 2025-11-25 08:56:04.408367 | controller | step completed 3-cleanup-keystoneendpoint' 2025-11-25 08:56:04.408372 | controller | - ' logger.go:42: 08:52:09 | keystone_resources/4-cleanup-keystoneservice | starting 2025-11-25 08:56:04.408378 | controller | test step 4-cleanup-keystoneservice' 2025-11-25 08:56:04.408384 | controller | - ' logger.go:42: 08:52:11 | keystone_resources/4-cleanup-keystoneservice | test 2025-11-25 08:56:04.408390 | controller | step completed 4-cleanup-keystoneservice' 2025-11-25 08:56:04.408396 | controller | - ' logger.go:42: 08:52:11 | keystone_resources/5-cleanup-keystone | starting test 2025-11-25 08:56:04.408402 | controller | step 5-cleanup-keystone' 2025-11-25 08:56:04.408408 | controller | - ' logger.go:42: 08:52:15 | keystone_resources/5-cleanup-keystone | test step 2025-11-25 08:56:04.408413 | controller | completed 5-cleanup-keystone' 2025-11-25 08:56:04.408419 | controller | - ' logger.go:42: 08:52:15 | keystone_resources | skipping kubernetes event logging' 2025-11-25 08:56:04.408425 | controller | - === CONT kuttl/harness/fernet_rotation 2025-11-25 08:56:04.408431 | controller | - ' logger.go:42: 08:52:15 | fernet_rotation | Skipping creation of user-supplied 2025-11-25 08:56:04.408437 | controller | namespace: keystone-kuttl-tests' 2025-11-25 08:56:04.408442 | controller | - ' logger.go:42: 08:52:15 | fernet_rotation/0-deploy_keystone | starting test 2025-11-25 08:56:04.408448 | controller | step 0-deploy_keystone' 2025-11-25 08:56:04.408464 | controller | - ' logger.go:42: 08:52:15 | fernet_rotation/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone 2025-11-25 08:56:04.408470 | controller | created' 2025-11-25 08:56:04.408476 | controller | - ' logger.go:42: 08:52:15 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.408482 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.408488 | controller | rely on' 2025-11-25 08:56:04.408494 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.408500 | controller | and checks that' 2025-11-25 08:56:04.408506 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.408511 | controller | pattern' 2025-11-25 08:56:04.408517 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.408523 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.408529 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.408535 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.408541 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.408546 | controller | - ' exit 0' 2025-11-25 08:56:04.408552 | controller | - ' else' 2025-11-25 08:56:04.408558 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.408564 | controller | - ' exit 1' 2025-11-25 08:56:04.408572 | controller | - ' fi' 2025-11-25 08:56:04.408578 | controller | - ' ' 2025-11-25 08:56:04.408584 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.408590 | controller | them with a script' 2025-11-25 08:56:04.408596 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.408604 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.408610 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.408616 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.408622 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.408633 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.408639 | controller | - ' # it is an image' 2025-11-25 08:56:04.408645 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.408651 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.408657 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.408662 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.408668 | controller | - ' case $NAME in' 2025-11-25 08:56:04.408674 | controller | - ' API)' 2025-11-25 08:56:04.408680 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.408686 | controller | - ' ;;' 2025-11-25 08:56:04.408692 | controller | - ' esac' 2025-11-25 08:56:04.408697 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.408703 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.408709 | controller | - ' exit 1' 2025-11-25 08:56:04.408715 | controller | - ' fi' 2025-11-25 08:56:04.408721 | controller | - ' fi' 2025-11-25 08:56:04.408726 | controller | - ' done' 2025-11-25 08:56:04.408732 | controller | - ' ]' 2025-11-25 08:56:04.408738 | controller | - ' logger.go:42: 08:52:16 | fernet_rotation/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.408744 | controller | : do not match regex' 2025-11-25 08:56:04.408750 | controller | - ' logger.go:42: 08:52:17 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.408756 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.408761 | controller | rely on' 2025-11-25 08:56:04.408767 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.408773 | controller | and checks that' 2025-11-25 08:56:04.408779 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.408785 | controller | pattern' 2025-11-25 08:56:04.408792 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.408798 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.408804 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.408810 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.408817 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.408824 | controller | - ' exit 0' 2025-11-25 08:56:04.408839 | controller | - ' else' 2025-11-25 08:56:04.408852 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.408860 | controller | - ' exit 1' 2025-11-25 08:56:04.408868 | controller | - ' fi' 2025-11-25 08:56:04.408875 | controller | - ' ' 2025-11-25 08:56:04.408883 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.408890 | controller | them with a script' 2025-11-25 08:56:04.408897 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.408904 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.408912 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.408923 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.408938 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.408952 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.408957 | controller | - ' # it is an image' 2025-11-25 08:56:04.408963 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.408969 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.408975 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.408984 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.408990 | controller | - ' case $NAME in' 2025-11-25 08:56:04.408996 | controller | - ' API)' 2025-11-25 08:56:04.409002 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.409008 | controller | - ' ;;' 2025-11-25 08:56:04.409014 | controller | - ' esac' 2025-11-25 08:56:04.409019 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.409025 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.409031 | controller | - ' exit 1' 2025-11-25 08:56:04.409037 | controller | - ' fi' 2025-11-25 08:56:04.409043 | controller | - ' fi' 2025-11-25 08:56:04.409048 | controller | - ' done' 2025-11-25 08:56:04.409054 | controller | - ' ]' 2025-11-25 08:56:04.409060 | controller | - ' logger.go:42: 08:52:17 | fernet_rotation/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.409066 | controller | : do not match regex' 2025-11-25 08:56:04.409072 | controller | - ' logger.go:42: 08:52:18 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.409078 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.409083 | controller | rely on' 2025-11-25 08:56:04.409089 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.409095 | controller | and checks that' 2025-11-25 08:56:04.409121 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.409128 | controller | pattern' 2025-11-25 08:56:04.409134 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.409140 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.409145 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.409151 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.409157 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.409169 | controller | - ' exit 0' 2025-11-25 08:56:04.409175 | controller | - ' else' 2025-11-25 08:56:04.409180 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.409186 | controller | - ' exit 1' 2025-11-25 08:56:04.409192 | controller | - ' fi' 2025-11-25 08:56:04.409198 | controller | - ' ' 2025-11-25 08:56:04.409206 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.409212 | controller | them with a script' 2025-11-25 08:56:04.409218 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.409224 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.409230 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.409236 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.409242 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.409257 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.409263 | controller | - ' # it is an image' 2025-11-25 08:56:04.409269 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.409275 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.409281 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.409287 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.409292 | controller | - ' case $NAME in' 2025-11-25 08:56:04.409298 | controller | - ' API)' 2025-11-25 08:56:04.409304 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.409310 | controller | - ' ;;' 2025-11-25 08:56:04.409316 | controller | - ' esac' 2025-11-25 08:56:04.409323 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.409330 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.409336 | controller | - ' exit 1' 2025-11-25 08:56:04.409343 | controller | - ' fi' 2025-11-25 08:56:04.409350 | controller | - ' fi' 2025-11-25 08:56:04.409356 | controller | - ' done' 2025-11-25 08:56:04.409362 | controller | - ' ]' 2025-11-25 08:56:04.409368 | controller | - ' logger.go:42: 08:52:18 | fernet_rotation/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.409374 | controller | : do not match regex' 2025-11-25 08:56:04.409380 | controller | - ' logger.go:42: 08:52:19 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.409385 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.409391 | controller | rely on' 2025-11-25 08:56:04.409397 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.409403 | controller | and checks that' 2025-11-25 08:56:04.409409 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.409415 | controller | pattern' 2025-11-25 08:56:04.409427 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.409433 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.409439 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.409445 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.409451 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.409456 | controller | - ' exit 0' 2025-11-25 08:56:04.409462 | controller | - ' else' 2025-11-25 08:56:04.409468 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.409474 | controller | - ' exit 1' 2025-11-25 08:56:04.409480 | controller | - ' fi' 2025-11-25 08:56:04.409487 | controller | - ' ' 2025-11-25 08:56:04.409498 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.409514 | controller | them with a script' 2025-11-25 08:56:04.409522 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.409529 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.409536 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.409544 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.409552 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.409566 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.409578 | controller | - ' # it is an image' 2025-11-25 08:56:04.409585 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.409592 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.409598 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.409604 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.409610 | controller | - ' case $NAME in' 2025-11-25 08:56:04.409615 | controller | - ' API)' 2025-11-25 08:56:04.409621 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.409627 | controller | - ' ;;' 2025-11-25 08:56:04.409633 | controller | - ' esac' 2025-11-25 08:56:04.409639 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.409645 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.409651 | controller | - ' exit 1' 2025-11-25 08:56:04.409656 | controller | - ' fi' 2025-11-25 08:56:04.409662 | controller | - ' fi' 2025-11-25 08:56:04.409668 | controller | - ' done' 2025-11-25 08:56:04.409674 | controller | - ' ]' 2025-11-25 08:56:04.409680 | controller | - ' logger.go:42: 08:52:19 | fernet_rotation/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.409685 | controller | : do not match regex' 2025-11-25 08:56:04.409691 | controller | - ' logger.go:42: 08:52:20 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.409697 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.409703 | controller | rely on' 2025-11-25 08:56:04.409709 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.409716 | controller | and checks that' 2025-11-25 08:56:04.409725 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.409742 | controller | pattern' 2025-11-25 08:56:04.409751 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.409758 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.409765 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.409773 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.409780 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.409787 | controller | - ' exit 0' 2025-11-25 08:56:04.409795 | controller | - ' else' 2025-11-25 08:56:04.409802 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.409809 | controller | - ' exit 1' 2025-11-25 08:56:04.409816 | controller | - ' fi' 2025-11-25 08:56:04.409824 | controller | - ' ' 2025-11-25 08:56:04.409831 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.409839 | controller | them with a script' 2025-11-25 08:56:04.409852 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.409859 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.409867 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.409874 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.409881 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.409894 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.409900 | controller | - ' # it is an image' 2025-11-25 08:56:04.409906 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.409912 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.409921 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.409927 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.409933 | controller | - ' case $NAME in' 2025-11-25 08:56:04.409949 | controller | - ' API)' 2025-11-25 08:56:04.409955 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.409961 | controller | - ' ;;' 2025-11-25 08:56:04.409967 | controller | - ' esac' 2025-11-25 08:56:04.409973 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.409980 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.409986 | controller | - ' exit 1' 2025-11-25 08:56:04.409992 | controller | - ' fi' 2025-11-25 08:56:04.409997 | controller | - ' fi' 2025-11-25 08:56:04.410003 | controller | - ' done' 2025-11-25 08:56:04.410009 | controller | - ' ]' 2025-11-25 08:56:04.410015 | controller | - ' logger.go:42: 08:52:20 | fernet_rotation/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.410021 | controller | : do not match regex' 2025-11-25 08:56:04.410027 | controller | - ' logger.go:42: 08:52:21 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.410032 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.410038 | controller | rely on' 2025-11-25 08:56:04.410044 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.410050 | controller | and checks that' 2025-11-25 08:56:04.410056 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.410062 | controller | pattern' 2025-11-25 08:56:04.410067 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.410073 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.410079 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.410085 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.410094 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.410121 | controller | - ' exit 0' 2025-11-25 08:56:04.410127 | controller | - ' else' 2025-11-25 08:56:04.410133 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.410139 | controller | - ' exit 1' 2025-11-25 08:56:04.410145 | controller | - ' fi' 2025-11-25 08:56:04.410151 | controller | - ' ' 2025-11-25 08:56:04.410157 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.410162 | controller | them with a script' 2025-11-25 08:56:04.410168 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.410174 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.410180 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.410186 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.410192 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.410203 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.410209 | controller | - ' # it is an image' 2025-11-25 08:56:04.410218 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.410224 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.410230 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.410236 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.410247 | controller | - ' case $NAME in' 2025-11-25 08:56:04.410253 | controller | - ' API)' 2025-11-25 08:56:04.410259 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.410265 | controller | - ' ;;' 2025-11-25 08:56:04.410271 | controller | - ' esac' 2025-11-25 08:56:04.410276 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.410282 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.410288 | controller | - ' exit 1' 2025-11-25 08:56:04.410294 | controller | - ' fi' 2025-11-25 08:56:04.410300 | controller | - ' fi' 2025-11-25 08:56:04.410306 | controller | - ' done' 2025-11-25 08:56:04.410311 | controller | - ' ]' 2025-11-25 08:56:04.410317 | controller | - ' logger.go:42: 08:52:22 | fernet_rotation/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.410323 | controller | : do not match regex' 2025-11-25 08:56:04.410329 | controller | - ' logger.go:42: 08:52:23 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.410335 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.410341 | controller | rely on' 2025-11-25 08:56:04.410346 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.410352 | controller | and checks that' 2025-11-25 08:56:04.410358 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.410364 | controller | pattern' 2025-11-25 08:56:04.410370 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.410376 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.410381 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.410387 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.410393 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.410399 | controller | - ' exit 0' 2025-11-25 08:56:04.410405 | controller | - ' else' 2025-11-25 08:56:04.410411 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.410416 | controller | - ' exit 1' 2025-11-25 08:56:04.410430 | controller | - ' fi' 2025-11-25 08:56:04.410436 | controller | - ' ' 2025-11-25 08:56:04.410442 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.410447 | controller | them with a script' 2025-11-25 08:56:04.410453 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.410459 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.410465 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.410471 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.410477 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.410488 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.410494 | controller | - ' # it is an image' 2025-11-25 08:56:04.410500 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.410506 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.410511 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.410517 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.410523 | controller | - ' case $NAME in' 2025-11-25 08:56:04.410529 | controller | - ' API)' 2025-11-25 08:56:04.410535 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.410546 | controller | - ' ;;' 2025-11-25 08:56:04.410554 | controller | - ' esac' 2025-11-25 08:56:04.410562 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.410569 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.410577 | controller | - ' exit 1' 2025-11-25 08:56:04.410584 | controller | - ' fi' 2025-11-25 08:56:04.410591 | controller | - ' fi' 2025-11-25 08:56:04.410599 | controller | - ' done' 2025-11-25 08:56:04.410607 | controller | - ' ]' 2025-11-25 08:56:04.410614 | controller | - ' logger.go:42: 08:52:23 | fernet_rotation/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.410621 | controller | : do not match regex' 2025-11-25 08:56:04.410627 | controller | - ' logger.go:42: 08:52:24 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.410633 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.410638 | controller | rely on' 2025-11-25 08:56:04.410644 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.410650 | controller | and checks that' 2025-11-25 08:56:04.410656 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.410662 | controller | pattern' 2025-11-25 08:56:04.410668 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.410673 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.410679 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.410685 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.410691 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.410697 | controller | - ' exit 0' 2025-11-25 08:56:04.410703 | controller | - ' else' 2025-11-25 08:56:04.410709 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.410714 | controller | - ' exit 1' 2025-11-25 08:56:04.410720 | controller | - ' fi' 2025-11-25 08:56:04.410726 | controller | - ' ' 2025-11-25 08:56:04.410732 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.410738 | controller | them with a script' 2025-11-25 08:56:04.410744 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.410750 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.410755 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.410761 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.410767 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.410779 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.410785 | controller | - ' # it is an image' 2025-11-25 08:56:04.410790 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.410796 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.410802 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.410808 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.410814 | controller | - ' case $NAME in' 2025-11-25 08:56:04.410820 | controller | - ' API)' 2025-11-25 08:56:04.410826 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.410831 | controller | - ' ;;' 2025-11-25 08:56:04.410837 | controller | - ' esac' 2025-11-25 08:56:04.410843 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.410853 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.410858 | controller | - ' exit 1' 2025-11-25 08:56:04.410864 | controller | - ' fi' 2025-11-25 08:56:04.410870 | controller | - ' fi' 2025-11-25 08:56:04.410876 | controller | - ' done' 2025-11-25 08:56:04.410882 | controller | - ' ]' 2025-11-25 08:56:04.410888 | controller | - ' logger.go:42: 08:52:24 | fernet_rotation/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.410894 | controller | : do not match regex' 2025-11-25 08:56:04.410907 | controller | - ' logger.go:42: 08:52:25 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.410913 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.410919 | controller | rely on' 2025-11-25 08:56:04.410925 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.410931 | controller | and checks that' 2025-11-25 08:56:04.410937 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.410943 | controller | pattern' 2025-11-25 08:56:04.410948 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.410954 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.410960 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.410966 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.410972 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.410978 | controller | - ' exit 0' 2025-11-25 08:56:04.410984 | controller | - ' else' 2025-11-25 08:56:04.410989 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.410995 | controller | - ' exit 1' 2025-11-25 08:56:04.411001 | controller | - ' fi' 2025-11-25 08:56:04.411007 | controller | - ' ' 2025-11-25 08:56:04.411013 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.411021 | controller | them with a script' 2025-11-25 08:56:04.411029 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.411037 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.411044 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.411052 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.411059 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.411074 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.411081 | controller | - ' # it is an image' 2025-11-25 08:56:04.411088 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.411095 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.411120 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.411126 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.411132 | controller | - ' case $NAME in' 2025-11-25 08:56:04.411144 | controller | - ' API)' 2025-11-25 08:56:04.411152 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.411160 | controller | - ' ;;' 2025-11-25 08:56:04.411167 | controller | - ' esac' 2025-11-25 08:56:04.411177 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.411184 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.411192 | controller | - ' exit 1' 2025-11-25 08:56:04.411202 | controller | - ' fi' 2025-11-25 08:56:04.411209 | controller | - ' fi' 2025-11-25 08:56:04.411216 | controller | - ' done' 2025-11-25 08:56:04.411224 | controller | - ' ]' 2025-11-25 08:56:04.411231 | controller | - ' logger.go:42: 08:52:25 | fernet_rotation/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.411238 | controller | : do not match regex' 2025-11-25 08:56:04.411245 | controller | - ' logger.go:42: 08:52:26 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.411253 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.411260 | controller | rely on' 2025-11-25 08:56:04.411267 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.411274 | controller | and checks that' 2025-11-25 08:56:04.411291 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.411308 | controller | pattern' 2025-11-25 08:56:04.411316 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.411323 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.411331 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.411338 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.411345 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.411370 | controller | - ' exit 0' 2025-11-25 08:56:04.411377 | controller | - ' else' 2025-11-25 08:56:04.411384 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.411391 | controller | - ' exit 1' 2025-11-25 08:56:04.411399 | controller | - ' fi' 2025-11-25 08:56:04.411406 | controller | - ' ' 2025-11-25 08:56:04.411413 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.411421 | controller | them with a script' 2025-11-25 08:56:04.411428 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.411436 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.411443 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.411450 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.411462 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.411487 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.411495 | controller | - ' # it is an image' 2025-11-25 08:56:04.411502 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.411509 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.411515 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.411521 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.411526 | controller | - ' case $NAME in' 2025-11-25 08:56:04.411533 | controller | - ' API)' 2025-11-25 08:56:04.411541 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.411559 | controller | - ' ;;' 2025-11-25 08:56:04.411567 | controller | - ' esac' 2025-11-25 08:56:04.411575 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.411583 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.411590 | controller | - ' exit 1' 2025-11-25 08:56:04.411602 | controller | - ' fi' 2025-11-25 08:56:04.411609 | controller | - ' fi' 2025-11-25 08:56:04.411617 | controller | - ' done' 2025-11-25 08:56:04.411623 | controller | - ' ]' 2025-11-25 08:56:04.411633 | controller | - ' logger.go:42: 08:52:26 | fernet_rotation/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.411641 | controller | : do not match regex' 2025-11-25 08:56:04.411649 | controller | - ' logger.go:42: 08:52:27 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.411657 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.411664 | controller | rely on' 2025-11-25 08:56:04.411672 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.411679 | controller | and checks that' 2025-11-25 08:56:04.411687 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.411695 | controller | pattern' 2025-11-25 08:56:04.411702 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.411709 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.411717 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.411724 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.411732 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.411740 | controller | - ' exit 0' 2025-11-25 08:56:04.411748 | controller | - ' else' 2025-11-25 08:56:04.411755 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.411762 | controller | - ' exit 1' 2025-11-25 08:56:04.411769 | controller | - ' fi' 2025-11-25 08:56:04.411777 | controller | - ' ' 2025-11-25 08:56:04.411785 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.411792 | controller | them with a script' 2025-11-25 08:56:04.411800 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.411807 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.411815 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.411822 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.411829 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.411843 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.411849 | controller | - ' # it is an image' 2025-11-25 08:56:04.411855 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.411861 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.411867 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.411873 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.411879 | controller | - ' case $NAME in' 2025-11-25 08:56:04.411885 | controller | - ' API)' 2025-11-25 08:56:04.411890 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.411896 | controller | - ' ;;' 2025-11-25 08:56:04.411902 | controller | - ' esac' 2025-11-25 08:56:04.411908 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.411914 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.411920 | controller | - ' exit 1' 2025-11-25 08:56:04.411925 | controller | - ' fi' 2025-11-25 08:56:04.411931 | controller | - ' fi' 2025-11-25 08:56:04.411937 | controller | - ' done' 2025-11-25 08:56:04.411943 | controller | - ' ]' 2025-11-25 08:56:04.411949 | controller | - ' logger.go:42: 08:52:27 | fernet_rotation/0-deploy_keystone | Endpoints URLS: 2025-11-25 08:56:04.411955 | controller | : do not match regex' 2025-11-25 08:56:04.411961 | controller | - ' logger.go:42: 08:52:28 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.411970 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.411976 | controller | rely on' 2025-11-25 08:56:04.411982 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.411988 | controller | and checks that' 2025-11-25 08:56:04.411994 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.411999 | controller | pattern' 2025-11-25 08:56:04.412005 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.412025 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.412032 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.412038 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.412044 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.412050 | controller | - ' exit 0' 2025-11-25 08:56:04.412055 | controller | - ' else' 2025-11-25 08:56:04.412061 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.412067 | controller | - ' exit 1' 2025-11-25 08:56:04.412073 | controller | - ' fi' 2025-11-25 08:56:04.412079 | controller | - ' ' 2025-11-25 08:56:04.412085 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.412091 | controller | them with a script' 2025-11-25 08:56:04.412099 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.412123 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.412129 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.412135 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.412141 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.412152 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.412158 | controller | - ' # it is an image' 2025-11-25 08:56:04.412164 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.412170 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.412176 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.412181 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.412187 | controller | - ' case $NAME in' 2025-11-25 08:56:04.412193 | controller | - ' API)' 2025-11-25 08:56:04.412199 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.412205 | controller | - ' ;;' 2025-11-25 08:56:04.412211 | controller | - ' esac' 2025-11-25 08:56:04.412217 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.412222 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.412228 | controller | - ' exit 1' 2025-11-25 08:56:04.412234 | controller | - ' fi' 2025-11-25 08:56:04.412240 | controller | - ' fi' 2025-11-25 08:56:04.412246 | controller | - ' done' 2025-11-25 08:56:04.412252 | controller | - ' ]' 2025-11-25 08:56:04.412257 | controller | - ' logger.go:42: 08:52:30 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.412263 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.412269 | controller | rely on' 2025-11-25 08:56:04.412275 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.412281 | controller | and checks that' 2025-11-25 08:56:04.412291 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.412297 | controller | pattern' 2025-11-25 08:56:04.412303 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.412308 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.412314 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.412320 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.412326 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.412332 | controller | - ' exit 0' 2025-11-25 08:56:04.412338 | controller | - ' else' 2025-11-25 08:56:04.412343 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.412349 | controller | - ' exit 1' 2025-11-25 08:56:04.412355 | controller | - ' fi' 2025-11-25 08:56:04.412361 | controller | - ' ' 2025-11-25 08:56:04.412367 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.412373 | controller | them with a script' 2025-11-25 08:56:04.412379 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.412384 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.412390 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.412396 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.412402 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.412414 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.412420 | controller | - ' # it is an image' 2025-11-25 08:56:04.412426 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.412432 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.412437 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.412443 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.412452 | controller | - ' case $NAME in' 2025-11-25 08:56:04.412458 | controller | - ' API)' 2025-11-25 08:56:04.412464 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.412470 | controller | - ' ;;' 2025-11-25 08:56:04.412475 | controller | - ' esac' 2025-11-25 08:56:04.412481 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.412495 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.412502 | controller | - ' exit 1' 2025-11-25 08:56:04.412508 | controller | - ' fi' 2025-11-25 08:56:04.412514 | controller | - ' fi' 2025-11-25 08:56:04.412520 | controller | - ' done' 2025-11-25 08:56:04.412525 | controller | - ' ]' 2025-11-25 08:56:04.412534 | controller | - ' logger.go:42: 08:52:31 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.412540 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.412546 | controller | rely on' 2025-11-25 08:56:04.412552 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.412557 | controller | and checks that' 2025-11-25 08:56:04.412563 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.412569 | controller | pattern' 2025-11-25 08:56:04.412575 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.412581 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.412590 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.412596 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.412602 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.412608 | controller | - ' exit 0' 2025-11-25 08:56:04.412614 | controller | - ' else' 2025-11-25 08:56:04.412619 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.412625 | controller | - ' exit 1' 2025-11-25 08:56:04.412631 | controller | - ' fi' 2025-11-25 08:56:04.412637 | controller | - ' ' 2025-11-25 08:56:04.412643 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.412649 | controller | them with a script' 2025-11-25 08:56:04.412655 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.412660 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.412666 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.412672 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.412678 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.412690 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.412695 | controller | - ' # it is an image' 2025-11-25 08:56:04.412701 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.412707 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.412713 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.412719 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.412725 | controller | - ' case $NAME in' 2025-11-25 08:56:04.412731 | controller | - ' API)' 2025-11-25 08:56:04.412736 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.412742 | controller | - ' ;;' 2025-11-25 08:56:04.412748 | controller | - ' esac' 2025-11-25 08:56:04.412754 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.412760 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.412766 | controller | - ' exit 1' 2025-11-25 08:56:04.412772 | controller | - ' fi' 2025-11-25 08:56:04.412777 | controller | - ' fi' 2025-11-25 08:56:04.412783 | controller | - ' done' 2025-11-25 08:56:04.412789 | controller | - ' ]' 2025-11-25 08:56:04.412795 | controller | - ' logger.go:42: 08:52:32 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.412801 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.412807 | controller | rely on' 2025-11-25 08:56:04.412815 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.412823 | controller | and checks that' 2025-11-25 08:56:04.412830 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.412838 | controller | pattern' 2025-11-25 08:56:04.412846 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.412853 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.412861 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.412868 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.412875 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.412882 | controller | - ' exit 0' 2025-11-25 08:56:04.412889 | controller | - ' else' 2025-11-25 08:56:04.412901 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.412908 | controller | - ' exit 1' 2025-11-25 08:56:04.412915 | controller | - ' fi' 2025-11-25 08:56:04.412923 | controller | - ' ' 2025-11-25 08:56:04.412930 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.412937 | controller | them with a script' 2025-11-25 08:56:04.412945 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.412952 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.412960 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.412967 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.412975 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.412999 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.413006 | controller | - ' # it is an image' 2025-11-25 08:56:04.413014 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.413021 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.413028 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.413035 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.413042 | controller | - ' case $NAME in' 2025-11-25 08:56:04.413050 | controller | - ' API)' 2025-11-25 08:56:04.413057 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.413065 | controller | - ' ;;' 2025-11-25 08:56:04.413073 | controller | - ' esac' 2025-11-25 08:56:04.413080 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.413088 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.413099 | controller | - ' exit 1' 2025-11-25 08:56:04.413126 | controller | - ' fi' 2025-11-25 08:56:04.413134 | controller | - ' fi' 2025-11-25 08:56:04.413141 | controller | - ' done' 2025-11-25 08:56:04.413148 | controller | - ' ]' 2025-11-25 08:56:04.413155 | controller | - ' logger.go:42: 08:52:33 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.413161 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.413167 | controller | rely on' 2025-11-25 08:56:04.413173 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.413183 | controller | and checks that' 2025-11-25 08:56:04.413189 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.413195 | controller | pattern' 2025-11-25 08:56:04.413201 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.413207 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.413213 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.413218 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.413225 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.413233 | controller | - ' exit 0' 2025-11-25 08:56:04.413241 | controller | - ' else' 2025-11-25 08:56:04.413249 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.413256 | controller | - ' exit 1' 2025-11-25 08:56:04.413264 | controller | - ' fi' 2025-11-25 08:56:04.413272 | controller | - ' ' 2025-11-25 08:56:04.413279 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.413287 | controller | them with a script' 2025-11-25 08:56:04.413299 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.413306 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.413313 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.413320 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.413327 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.413339 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.413345 | controller | - ' # it is an image' 2025-11-25 08:56:04.413351 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.413357 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.413362 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.413368 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.413374 | controller | - ' case $NAME in' 2025-11-25 08:56:04.413380 | controller | - ' API)' 2025-11-25 08:56:04.413386 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.413392 | controller | - ' ;;' 2025-11-25 08:56:04.413397 | controller | - ' esac' 2025-11-25 08:56:04.413403 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.413409 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.413415 | controller | - ' exit 1' 2025-11-25 08:56:04.413421 | controller | - ' fi' 2025-11-25 08:56:04.413427 | controller | - ' fi' 2025-11-25 08:56:04.413433 | controller | - ' done' 2025-11-25 08:56:04.413438 | controller | - ' ]' 2025-11-25 08:56:04.413444 | controller | - ' logger.go:42: 08:52:34 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.413451 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.413459 | controller | rely on' 2025-11-25 08:56:04.413467 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.413475 | controller | and checks that' 2025-11-25 08:56:04.413482 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.413490 | controller | pattern' 2025-11-25 08:56:04.413497 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.413505 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.413512 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.413520 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.413538 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.413546 | controller | - ' exit 0' 2025-11-25 08:56:04.413552 | controller | - ' else' 2025-11-25 08:56:04.413558 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.413563 | controller | - ' exit 1' 2025-11-25 08:56:04.413569 | controller | - ' fi' 2025-11-25 08:56:04.413575 | controller | - ' ' 2025-11-25 08:56:04.413581 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.413587 | controller | them with a script' 2025-11-25 08:56:04.413593 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.413599 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.413605 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.413610 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.413620 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.413632 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.413641 | controller | - ' # it is an image' 2025-11-25 08:56:04.413647 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.413653 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.413664 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.413672 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.413678 | controller | - ' case $NAME in' 2025-11-25 08:56:04.413684 | controller | - ' API)' 2025-11-25 08:56:04.413690 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.413696 | controller | - ' ;;' 2025-11-25 08:56:04.413701 | controller | - ' esac' 2025-11-25 08:56:04.413707 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.413713 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.413719 | controller | - ' exit 1' 2025-11-25 08:56:04.413725 | controller | - ' fi' 2025-11-25 08:56:04.413731 | controller | - ' fi' 2025-11-25 08:56:04.413736 | controller | - ' done' 2025-11-25 08:56:04.413742 | controller | - ' ]' 2025-11-25 08:56:04.413748 | controller | - ' logger.go:42: 08:52:36 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.413754 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.413760 | controller | rely on' 2025-11-25 08:56:04.413766 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.413772 | controller | and checks that' 2025-11-25 08:56:04.413780 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.413786 | controller | pattern' 2025-11-25 08:56:04.413792 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.413798 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.413804 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.413809 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.413815 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.413821 | controller | - ' exit 0' 2025-11-25 08:56:04.413827 | controller | - ' else' 2025-11-25 08:56:04.413833 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.413839 | controller | - ' exit 1' 2025-11-25 08:56:04.413845 | controller | - ' fi' 2025-11-25 08:56:04.413850 | controller | - ' ' 2025-11-25 08:56:04.413856 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.413862 | controller | them with a script' 2025-11-25 08:56:04.413868 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.413874 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.413880 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.413886 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.413891 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.413903 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.413909 | controller | - ' # it is an image' 2025-11-25 08:56:04.413915 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.413923 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.413929 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.413935 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.413941 | controller | - ' case $NAME in' 2025-11-25 08:56:04.413947 | controller | - ' API)' 2025-11-25 08:56:04.413953 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.413959 | controller | - ' ;;' 2025-11-25 08:56:04.413964 | controller | - ' esac' 2025-11-25 08:56:04.413970 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.413976 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.413982 | controller | - ' exit 1' 2025-11-25 08:56:04.413988 | controller | - ' fi' 2025-11-25 08:56:04.413994 | controller | - ' fi' 2025-11-25 08:56:04.414000 | controller | - ' done' 2025-11-25 08:56:04.414005 | controller | - ' ]' 2025-11-25 08:56:04.414018 | controller | - ' logger.go:42: 08:52:37 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.414024 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.414030 | controller | rely on' 2025-11-25 08:56:04.414036 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.414041 | controller | and checks that' 2025-11-25 08:56:04.414047 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.414053 | controller | pattern' 2025-11-25 08:56:04.414059 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.414065 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.414071 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.414077 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.414083 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.414088 | controller | - ' exit 0' 2025-11-25 08:56:04.414094 | controller | - ' else' 2025-11-25 08:56:04.414117 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.414126 | controller | - ' exit 1' 2025-11-25 08:56:04.414132 | controller | - ' fi' 2025-11-25 08:56:04.414138 | controller | - ' ' 2025-11-25 08:56:04.414144 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.414149 | controller | them with a script' 2025-11-25 08:56:04.414155 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.414161 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.414167 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.414173 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.414179 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.414190 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.414196 | controller | - ' # it is an image' 2025-11-25 08:56:04.414202 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.414208 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.414214 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.414219 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.414225 | controller | - ' case $NAME in' 2025-11-25 08:56:04.414237 | controller | - ' API)' 2025-11-25 08:56:04.414243 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.414249 | controller | - ' ;;' 2025-11-25 08:56:04.414255 | controller | - ' esac' 2025-11-25 08:56:04.414261 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.414267 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.414273 | controller | - ' exit 1' 2025-11-25 08:56:04.414279 | controller | - ' fi' 2025-11-25 08:56:04.414285 | controller | - ' fi' 2025-11-25 08:56:04.414290 | controller | - ' done' 2025-11-25 08:56:04.414296 | controller | - ' ]' 2025-11-25 08:56:04.414302 | controller | - ' logger.go:42: 08:52:38 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.414308 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.414314 | controller | rely on' 2025-11-25 08:56:04.414320 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.414326 | controller | and checks that' 2025-11-25 08:56:04.414332 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.414338 | controller | pattern' 2025-11-25 08:56:04.414344 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.414350 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.414356 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.414361 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.414367 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.414373 | controller | - ' exit 0' 2025-11-25 08:56:04.414379 | controller | - ' else' 2025-11-25 08:56:04.414385 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.414391 | controller | - ' exit 1' 2025-11-25 08:56:04.414397 | controller | - ' fi' 2025-11-25 08:56:04.414403 | controller | - ' ' 2025-11-25 08:56:04.414409 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.414415 | controller | them with a script' 2025-11-25 08:56:04.414421 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.414426 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.414432 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.414438 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.414444 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.414456 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.414462 | controller | - ' # it is an image' 2025-11-25 08:56:04.414467 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.414480 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.414486 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.414492 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.414498 | controller | - ' case $NAME in' 2025-11-25 08:56:04.414504 | controller | - ' API)' 2025-11-25 08:56:04.414509 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.414515 | controller | - ' ;;' 2025-11-25 08:56:04.414521 | controller | - ' esac' 2025-11-25 08:56:04.414527 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.414536 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.414541 | controller | - ' exit 1' 2025-11-25 08:56:04.414550 | controller | - ' fi' 2025-11-25 08:56:04.414556 | controller | - ' fi' 2025-11-25 08:56:04.414562 | controller | - ' done' 2025-11-25 08:56:04.414567 | controller | - ' ]' 2025-11-25 08:56:04.414573 | controller | - ' logger.go:42: 08:52:39 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.414579 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.414585 | controller | rely on' 2025-11-25 08:56:04.414591 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.414597 | controller | and checks that' 2025-11-25 08:56:04.414603 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.414609 | controller | pattern' 2025-11-25 08:56:04.414614 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.414620 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.414626 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.414632 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.414638 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.414644 | controller | - ' exit 0' 2025-11-25 08:56:04.414649 | controller | - ' else' 2025-11-25 08:56:04.414655 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.414661 | controller | - ' exit 1' 2025-11-25 08:56:04.414667 | controller | - ' fi' 2025-11-25 08:56:04.414673 | controller | - ' ' 2025-11-25 08:56:04.414679 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.414685 | controller | them with a script' 2025-11-25 08:56:04.414691 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.414696 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.414705 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.414711 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.414717 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.414728 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.414734 | controller | - ' # it is an image' 2025-11-25 08:56:04.414740 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.414746 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.414752 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.414758 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.414764 | controller | - ' case $NAME in' 2025-11-25 08:56:04.414772 | controller | - ' API)' 2025-11-25 08:56:04.414779 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.414787 | controller | - ' ;;' 2025-11-25 08:56:04.414795 | controller | - ' esac' 2025-11-25 08:56:04.414802 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.414809 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.414817 | controller | - ' exit 1' 2025-11-25 08:56:04.414825 | controller | - ' fi' 2025-11-25 08:56:04.414832 | controller | - ' fi' 2025-11-25 08:56:04.414839 | controller | - ' done' 2025-11-25 08:56:04.414847 | controller | - ' ]' 2025-11-25 08:56:04.414854 | controller | - ' logger.go:42: 08:52:40 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.414865 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.414871 | controller | rely on' 2025-11-25 08:56:04.414877 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.414882 | controller | and checks that' 2025-11-25 08:56:04.414888 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.414894 | controller | pattern' 2025-11-25 08:56:04.414900 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.414906 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.414912 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.414918 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.414923 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.414929 | controller | - ' exit 0' 2025-11-25 08:56:04.414935 | controller | - ' else' 2025-11-25 08:56:04.414941 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.414947 | controller | - ' exit 1' 2025-11-25 08:56:04.414956 | controller | - ' fi' 2025-11-25 08:56:04.414962 | controller | - ' ' 2025-11-25 08:56:04.414972 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.414978 | controller | them with a script' 2025-11-25 08:56:04.414984 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.414990 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.414996 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.415002 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.415008 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.415020 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.415026 | controller | - ' # it is an image' 2025-11-25 08:56:04.415032 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.415038 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.415044 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.415050 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.415056 | controller | - ' case $NAME in' 2025-11-25 08:56:04.415062 | controller | - ' API)' 2025-11-25 08:56:04.415068 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.415073 | controller | - ' ;;' 2025-11-25 08:56:04.415079 | controller | - ' esac' 2025-11-25 08:56:04.415085 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.415091 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.415113 | controller | - ' exit 1' 2025-11-25 08:56:04.415123 | controller | - ' fi' 2025-11-25 08:56:04.415129 | controller | - ' fi' 2025-11-25 08:56:04.415135 | controller | - ' done' 2025-11-25 08:56:04.415140 | controller | - ' ]' 2025-11-25 08:56:04.415146 | controller | - ' logger.go:42: 08:52:42 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.415152 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.415158 | controller | rely on' 2025-11-25 08:56:04.415164 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.415170 | controller | and checks that' 2025-11-25 08:56:04.415180 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.415186 | controller | pattern' 2025-11-25 08:56:04.415192 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.415198 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.415207 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.415213 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.415219 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.415225 | controller | - ' exit 0' 2025-11-25 08:56:04.415230 | controller | - ' else' 2025-11-25 08:56:04.415236 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.415242 | controller | - ' exit 1' 2025-11-25 08:56:04.415248 | controller | - ' fi' 2025-11-25 08:56:04.415254 | controller | - ' ' 2025-11-25 08:56:04.415260 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.415266 | controller | them with a script' 2025-11-25 08:56:04.415272 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.415277 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.415283 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.415289 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.415295 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.415307 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.415313 | controller | - ' # it is an image' 2025-11-25 08:56:04.415318 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.415324 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.415330 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.415336 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.415342 | controller | - ' case $NAME in' 2025-11-25 08:56:04.415348 | controller | - ' API)' 2025-11-25 08:56:04.415354 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.415393 | controller | - ' ;;' 2025-11-25 08:56:04.415401 | controller | - ' esac' 2025-11-25 08:56:04.415407 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.415413 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.415418 | controller | - ' exit 1' 2025-11-25 08:56:04.415424 | controller | - ' fi' 2025-11-25 08:56:04.415430 | controller | - ' fi' 2025-11-25 08:56:04.415436 | controller | - ' done' 2025-11-25 08:56:04.415442 | controller | - ' ]' 2025-11-25 08:56:04.415448 | controller | - ' logger.go:42: 08:52:43 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.415454 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.415459 | controller | rely on' 2025-11-25 08:56:04.415465 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.415471 | controller | and checks that' 2025-11-25 08:56:04.415481 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.415487 | controller | pattern' 2025-11-25 08:56:04.415493 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.415499 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.415508 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.415514 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.415520 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.415526 | controller | - ' exit 0' 2025-11-25 08:56:04.415532 | controller | - ' else' 2025-11-25 08:56:04.415538 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.415543 | controller | - ' exit 1' 2025-11-25 08:56:04.415549 | controller | - ' fi' 2025-11-25 08:56:04.415555 | controller | - ' ' 2025-11-25 08:56:04.415561 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.415567 | controller | them with a script' 2025-11-25 08:56:04.415573 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.415578 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.415584 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.415590 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.415596 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.415608 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.415614 | controller | - ' # it is an image' 2025-11-25 08:56:04.415619 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.415625 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.415631 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.415637 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.415643 | controller | - ' case $NAME in' 2025-11-25 08:56:04.415648 | controller | - ' API)' 2025-11-25 08:56:04.415654 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.415660 | controller | - ' ;;' 2025-11-25 08:56:04.415666 | controller | - ' esac' 2025-11-25 08:56:04.415675 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.415681 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.415687 | controller | - ' exit 1' 2025-11-25 08:56:04.415692 | controller | - ' fi' 2025-11-25 08:56:04.415698 | controller | - ' fi' 2025-11-25 08:56:04.415704 | controller | - ' done' 2025-11-25 08:56:04.415710 | controller | - ' ]' 2025-11-25 08:56:04.415716 | controller | - ' logger.go:42: 08:52:44 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.415722 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.415728 | controller | rely on' 2025-11-25 08:56:04.415733 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.415739 | controller | and checks that' 2025-11-25 08:56:04.415745 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.415751 | controller | pattern' 2025-11-25 08:56:04.415757 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.415763 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.415769 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.415774 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.415780 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.415786 | controller | - ' exit 0' 2025-11-25 08:56:04.415792 | controller | - ' else' 2025-11-25 08:56:04.415803 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.415809 | controller | - ' exit 1' 2025-11-25 08:56:04.415815 | controller | - ' fi' 2025-11-25 08:56:04.415821 | controller | - ' ' 2025-11-25 08:56:04.415827 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.415832 | controller | them with a script' 2025-11-25 08:56:04.415841 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.415847 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.415852 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.415858 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.415864 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.415876 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.415882 | controller | - ' # it is an image' 2025-11-25 08:56:04.415888 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.415893 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.415899 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.415905 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.415911 | controller | - ' case $NAME in' 2025-11-25 08:56:04.415917 | controller | - ' API)' 2025-11-25 08:56:04.415926 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.415932 | controller | - ' ;;' 2025-11-25 08:56:04.415938 | controller | - ' esac' 2025-11-25 08:56:04.415943 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.415949 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.415955 | controller | - ' exit 1' 2025-11-25 08:56:04.415961 | controller | - ' fi' 2025-11-25 08:56:04.415967 | controller | - ' fi' 2025-11-25 08:56:04.415972 | controller | - ' done' 2025-11-25 08:56:04.415978 | controller | - ' ]' 2025-11-25 08:56:04.415984 | controller | - ' logger.go:42: 08:52:45 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.415990 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.415996 | controller | rely on' 2025-11-25 08:56:04.416002 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.416007 | controller | and checks that' 2025-11-25 08:56:04.416013 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.416019 | controller | pattern' 2025-11-25 08:56:04.416025 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.416031 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.416037 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.416042 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.416048 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.416054 | controller | - ' exit 0' 2025-11-25 08:56:04.416060 | controller | - ' else' 2025-11-25 08:56:04.416066 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.416071 | controller | - ' exit 1' 2025-11-25 08:56:04.416077 | controller | - ' fi' 2025-11-25 08:56:04.416083 | controller | - ' ' 2025-11-25 08:56:04.416089 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.416095 | controller | them with a script' 2025-11-25 08:56:04.416120 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.416127 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.416133 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.416138 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.416144 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.416156 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.416162 | controller | - ' # it is an image' 2025-11-25 08:56:04.416168 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.416174 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.416180 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.416186 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.416191 | controller | - ' case $NAME in' 2025-11-25 08:56:04.416197 | controller | - ' API)' 2025-11-25 08:56:04.416203 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.416209 | controller | - ' ;;' 2025-11-25 08:56:04.416215 | controller | - ' esac' 2025-11-25 08:56:04.416221 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.416227 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.416233 | controller | - ' exit 1' 2025-11-25 08:56:04.416239 | controller | - ' fi' 2025-11-25 08:56:04.416244 | controller | - ' fi' 2025-11-25 08:56:04.416250 | controller | - ' done' 2025-11-25 08:56:04.416256 | controller | - ' ]' 2025-11-25 08:56:04.416262 | controller | - ' logger.go:42: 08:52:46 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.416268 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.416274 | controller | rely on' 2025-11-25 08:56:04.416280 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.416285 | controller | and checks that' 2025-11-25 08:56:04.416291 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.416297 | controller | pattern' 2025-11-25 08:56:04.416303 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.416309 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.416315 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.416321 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.416326 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.416332 | controller | - ' exit 0' 2025-11-25 08:56:04.416338 | controller | - ' else' 2025-11-25 08:56:04.416344 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.416350 | controller | - ' exit 1' 2025-11-25 08:56:04.416356 | controller | - ' fi' 2025-11-25 08:56:04.416361 | controller | - ' ' 2025-11-25 08:56:04.416367 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.416373 | controller | them with a script' 2025-11-25 08:56:04.416379 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.416385 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.416394 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.416400 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.416409 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.416420 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.416426 | controller | - ' # it is an image' 2025-11-25 08:56:04.416432 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.416438 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.416444 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.416450 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.416458 | controller | - ' case $NAME in' 2025-11-25 08:56:04.416464 | controller | - ' API)' 2025-11-25 08:56:04.416470 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.416476 | controller | - ' ;;' 2025-11-25 08:56:04.416482 | controller | - ' esac' 2025-11-25 08:56:04.416488 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.416494 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.416500 | controller | - ' exit 1' 2025-11-25 08:56:04.416506 | controller | - ' fi' 2025-11-25 08:56:04.416512 | controller | - ' fi' 2025-11-25 08:56:04.416517 | controller | - ' done' 2025-11-25 08:56:04.416523 | controller | - ' ]' 2025-11-25 08:56:04.416529 | controller | - ' logger.go:42: 08:52:48 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.416535 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.416541 | controller | rely on' 2025-11-25 08:56:04.416547 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.416553 | controller | and checks that' 2025-11-25 08:56:04.416559 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.416565 | controller | pattern' 2025-11-25 08:56:04.416571 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.416576 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.416582 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.416588 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.416594 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.416600 | controller | - ' exit 0' 2025-11-25 08:56:04.416606 | controller | - ' else' 2025-11-25 08:56:04.416612 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.416618 | controller | - ' exit 1' 2025-11-25 08:56:04.416624 | controller | - ' fi' 2025-11-25 08:56:04.416630 | controller | - ' ' 2025-11-25 08:56:04.416636 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.416641 | controller | them with a script' 2025-11-25 08:56:04.416647 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.416653 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.416659 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.416665 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.416671 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.416682 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.416688 | controller | - ' # it is an image' 2025-11-25 08:56:04.416694 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.416703 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.416709 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.416714 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.416720 | controller | - ' case $NAME in' 2025-11-25 08:56:04.416726 | controller | - ' API)' 2025-11-25 08:56:04.416732 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.416738 | controller | - ' ;;' 2025-11-25 08:56:04.416744 | controller | - ' esac' 2025-11-25 08:56:04.416750 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.416758 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.416764 | controller | - ' exit 1' 2025-11-25 08:56:04.416770 | controller | - ' fi' 2025-11-25 08:56:04.416775 | controller | - ' fi' 2025-11-25 08:56:04.416781 | controller | - ' done' 2025-11-25 08:56:04.416787 | controller | - ' ]' 2025-11-25 08:56:04.416793 | controller | - ' logger.go:42: 08:52:49 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.416799 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.416805 | controller | rely on' 2025-11-25 08:56:04.416811 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.416816 | controller | and checks that' 2025-11-25 08:56:04.416822 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.416828 | controller | pattern' 2025-11-25 08:56:04.416834 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.416845 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.416852 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.416857 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.416863 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.416869 | controller | - ' exit 0' 2025-11-25 08:56:04.416875 | controller | - ' else' 2025-11-25 08:56:04.416881 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.416886 | controller | - ' exit 1' 2025-11-25 08:56:04.416892 | controller | - ' fi' 2025-11-25 08:56:04.416898 | controller | - ' ' 2025-11-25 08:56:04.416904 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.416910 | controller | them with a script' 2025-11-25 08:56:04.416916 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.416922 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.416927 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.416933 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.416939 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.416951 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.416956 | controller | - ' # it is an image' 2025-11-25 08:56:04.416962 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.416968 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.416974 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.416980 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.416986 | controller | - ' case $NAME in' 2025-11-25 08:56:04.416997 | controller | - ' API)' 2025-11-25 08:56:04.417003 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.417008 | controller | - ' ;;' 2025-11-25 08:56:04.417014 | controller | - ' esac' 2025-11-25 08:56:04.417020 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.417026 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.417032 | controller | - ' exit 1' 2025-11-25 08:56:04.417038 | controller | - ' fi' 2025-11-25 08:56:04.417044 | controller | - ' fi' 2025-11-25 08:56:04.417050 | controller | - ' done' 2025-11-25 08:56:04.417055 | controller | - ' ]' 2025-11-25 08:56:04.417061 | controller | - ' logger.go:42: 08:52:50 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.417067 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.417073 | controller | rely on' 2025-11-25 08:56:04.417079 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.417085 | controller | and checks that' 2025-11-25 08:56:04.417091 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.417099 | controller | pattern' 2025-11-25 08:56:04.417121 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.417127 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.417133 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.417139 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.417145 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.417151 | controller | - ' exit 0' 2025-11-25 08:56:04.417157 | controller | - ' else' 2025-11-25 08:56:04.417163 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.417169 | controller | - ' exit 1' 2025-11-25 08:56:04.417175 | controller | - ' fi' 2025-11-25 08:56:04.417180 | controller | - ' ' 2025-11-25 08:56:04.417186 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.417192 | controller | them with a script' 2025-11-25 08:56:04.417198 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.417204 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.417210 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.417216 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.417222 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.417233 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.417239 | controller | - ' # it is an image' 2025-11-25 08:56:04.417245 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.417251 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.417257 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.417263 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.417268 | controller | - ' case $NAME in' 2025-11-25 08:56:04.417274 | controller | - ' API)' 2025-11-25 08:56:04.417280 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.417286 | controller | - ' ;;' 2025-11-25 08:56:04.417292 | controller | - ' esac' 2025-11-25 08:56:04.417301 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.417313 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.417319 | controller | - ' exit 1' 2025-11-25 08:56:04.417325 | controller | - ' fi' 2025-11-25 08:56:04.417331 | controller | - ' fi' 2025-11-25 08:56:04.417337 | controller | - ' done' 2025-11-25 08:56:04.417343 | controller | - ' ]' 2025-11-25 08:56:04.417349 | controller | - ' logger.go:42: 08:52:51 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.417354 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.417360 | controller | rely on' 2025-11-25 08:56:04.417367 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.417373 | controller | and checks that' 2025-11-25 08:56:04.417379 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.417384 | controller | pattern' 2025-11-25 08:56:04.417390 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.417396 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.417402 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.417408 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.417414 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.417420 | controller | - ' exit 0' 2025-11-25 08:56:04.417426 | controller | - ' else' 2025-11-25 08:56:04.417432 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.417437 | controller | - ' exit 1' 2025-11-25 08:56:04.417443 | controller | - ' fi' 2025-11-25 08:56:04.417449 | controller | - ' ' 2025-11-25 08:56:04.417455 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.417461 | controller | them with a script' 2025-11-25 08:56:04.417467 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.417473 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.417479 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.417485 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.417491 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.417502 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.417508 | controller | - ' # it is an image' 2025-11-25 08:56:04.417514 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.417520 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.417526 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.417535 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.417541 | controller | - ' case $NAME in' 2025-11-25 08:56:04.417547 | controller | - ' API)' 2025-11-25 08:56:04.417552 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.417558 | controller | - ' ;;' 2025-11-25 08:56:04.417564 | controller | - ' esac' 2025-11-25 08:56:04.417570 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.417576 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.417582 | controller | - ' exit 1' 2025-11-25 08:56:04.417588 | controller | - ' fi' 2025-11-25 08:56:04.417594 | controller | - ' fi' 2025-11-25 08:56:04.417600 | controller | - ' done' 2025-11-25 08:56:04.417606 | controller | - ' ]' 2025-11-25 08:56:04.417612 | controller | - ' logger.go:42: 08:52:53 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.417620 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.417626 | controller | rely on' 2025-11-25 08:56:04.417632 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.417638 | controller | and checks that' 2025-11-25 08:56:04.417644 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.417650 | controller | pattern' 2025-11-25 08:56:04.417656 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.417662 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.417668 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.417679 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.417685 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.417691 | controller | - ' exit 0' 2025-11-25 08:56:04.417696 | controller | - ' else' 2025-11-25 08:56:04.417702 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.417708 | controller | - ' exit 1' 2025-11-25 08:56:04.417714 | controller | - ' fi' 2025-11-25 08:56:04.417720 | controller | - ' ' 2025-11-25 08:56:04.417726 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.417732 | controller | them with a script' 2025-11-25 08:56:04.417738 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.417744 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.417750 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.417756 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.417761 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.417776 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.417782 | controller | - ' # it is an image' 2025-11-25 08:56:04.417788 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.417794 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.417800 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.417806 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.417812 | controller | - ' case $NAME in' 2025-11-25 08:56:04.417817 | controller | - ' API)' 2025-11-25 08:56:04.417823 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.417829 | controller | - ' ;;' 2025-11-25 08:56:04.417835 | controller | - ' esac' 2025-11-25 08:56:04.417841 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.417847 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.417853 | controller | - ' exit 1' 2025-11-25 08:56:04.417859 | controller | - ' fi' 2025-11-25 08:56:04.417864 | controller | - ' fi' 2025-11-25 08:56:04.417870 | controller | - ' done' 2025-11-25 08:56:04.417876 | controller | - ' ]' 2025-11-25 08:56:04.417882 | controller | - ' logger.go:42: 08:52:54 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.417888 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.417894 | controller | rely on' 2025-11-25 08:56:04.417900 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.417906 | controller | and checks that' 2025-11-25 08:56:04.417914 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.417923 | controller | pattern' 2025-11-25 08:56:04.417928 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.417934 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.417940 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.417946 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.417952 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.417958 | controller | - ' exit 0' 2025-11-25 08:56:04.417964 | controller | - ' else' 2025-11-25 08:56:04.417970 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.417976 | controller | - ' exit 1' 2025-11-25 08:56:04.417982 | controller | - ' fi' 2025-11-25 08:56:04.417987 | controller | - ' ' 2025-11-25 08:56:04.417993 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.417999 | controller | them with a script' 2025-11-25 08:56:04.418005 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.418011 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.418017 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.418023 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.418029 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.418041 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.418046 | controller | - ' # it is an image' 2025-11-25 08:56:04.418052 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.418058 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.418064 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.418070 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.418076 | controller | - ' case $NAME in' 2025-11-25 08:56:04.418082 | controller | - ' API)' 2025-11-25 08:56:04.418088 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.418094 | controller | - ' ;;' 2025-11-25 08:56:04.418117 | controller | - ' esac' 2025-11-25 08:56:04.418125 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.418131 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.418137 | controller | - ' exit 1' 2025-11-25 08:56:04.418143 | controller | - ' fi' 2025-11-25 08:56:04.418149 | controller | - ' fi' 2025-11-25 08:56:04.418155 | controller | - ' done' 2025-11-25 08:56:04.418161 | controller | - ' ]' 2025-11-25 08:56:04.418167 | controller | - ' logger.go:42: 08:52:55 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.418173 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.418179 | controller | rely on' 2025-11-25 08:56:04.418185 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.418191 | controller | and checks that' 2025-11-25 08:56:04.418197 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.418203 | controller | pattern' 2025-11-25 08:56:04.418208 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.418214 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.418223 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.418229 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.418241 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.418248 | controller | - ' exit 0' 2025-11-25 08:56:04.418254 | controller | - ' else' 2025-11-25 08:56:04.418260 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.418265 | controller | - ' exit 1' 2025-11-25 08:56:04.418271 | controller | - ' fi' 2025-11-25 08:56:04.418277 | controller | - ' ' 2025-11-25 08:56:04.418283 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.418289 | controller | them with a script' 2025-11-25 08:56:04.418295 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.418301 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.418307 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.418313 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.418319 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.418330 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.418336 | controller | - ' # it is an image' 2025-11-25 08:56:04.418342 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.418348 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.418354 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.418360 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.418366 | controller | - ' case $NAME in' 2025-11-25 08:56:04.418372 | controller | - ' API)' 2025-11-25 08:56:04.418378 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.418383 | controller | - ' ;;' 2025-11-25 08:56:04.418389 | controller | - ' esac' 2025-11-25 08:56:04.418395 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.418401 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.418407 | controller | - ' exit 1' 2025-11-25 08:56:04.418413 | controller | - ' fi' 2025-11-25 08:56:04.418419 | controller | - ' fi' 2025-11-25 08:56:04.418427 | controller | - ' done' 2025-11-25 08:56:04.418433 | controller | - ' ]' 2025-11-25 08:56:04.418439 | controller | - ' logger.go:42: 08:52:56 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.418445 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.418451 | controller | rely on' 2025-11-25 08:56:04.418457 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.418463 | controller | and checks that' 2025-11-25 08:56:04.418469 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.418475 | controller | pattern' 2025-11-25 08:56:04.418481 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.418486 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.418492 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.418498 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.418504 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.418510 | controller | - ' exit 0' 2025-11-25 08:56:04.418516 | controller | - ' else' 2025-11-25 08:56:04.418525 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.418531 | controller | - ' exit 1' 2025-11-25 08:56:04.418537 | controller | - ' fi' 2025-11-25 08:56:04.418543 | controller | - ' ' 2025-11-25 08:56:04.418549 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.418555 | controller | them with a script' 2025-11-25 08:56:04.418560 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.418566 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.418572 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.418578 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.418584 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.418596 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.418602 | controller | - ' # it is an image' 2025-11-25 08:56:04.418608 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.418614 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.418620 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.418625 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.418631 | controller | - ' case $NAME in' 2025-11-25 08:56:04.418637 | controller | - ' API)' 2025-11-25 08:56:04.418643 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.418649 | controller | - ' ;;' 2025-11-25 08:56:04.418655 | controller | - ' esac' 2025-11-25 08:56:04.418661 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.418667 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.418673 | controller | - ' exit 1' 2025-11-25 08:56:04.418678 | controller | - ' fi' 2025-11-25 08:56:04.418684 | controller | - ' fi' 2025-11-25 08:56:04.418690 | controller | - ' done' 2025-11-25 08:56:04.418696 | controller | - ' ]' 2025-11-25 08:56:04.418705 | controller | - ' logger.go:42: 08:52:57 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.418711 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.418717 | controller | rely on' 2025-11-25 08:56:04.418723 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.418729 | controller | and checks that' 2025-11-25 08:56:04.418735 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.418740 | controller | pattern' 2025-11-25 08:56:04.418746 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.418752 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.418758 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.418764 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.418770 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.418776 | controller | - ' exit 0' 2025-11-25 08:56:04.418782 | controller | - ' else' 2025-11-25 08:56:04.418788 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.418794 | controller | - ' exit 1' 2025-11-25 08:56:04.418799 | controller | - ' fi' 2025-11-25 08:56:04.418805 | controller | - ' ' 2025-11-25 08:56:04.418811 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.418817 | controller | them with a script' 2025-11-25 08:56:04.418826 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.418832 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.418838 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.418844 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.418850 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.418861 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.418867 | controller | - ' # it is an image' 2025-11-25 08:56:04.418873 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.418879 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.418885 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.418891 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.418896 | controller | - ' case $NAME in' 2025-11-25 08:56:04.418902 | controller | - ' API)' 2025-11-25 08:56:04.418908 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.418914 | controller | - ' ;;' 2025-11-25 08:56:04.418920 | controller | - ' esac' 2025-11-25 08:56:04.418926 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.418932 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.418938 | controller | - ' exit 1' 2025-11-25 08:56:04.418944 | controller | - ' fi' 2025-11-25 08:56:04.418949 | controller | - ' fi' 2025-11-25 08:56:04.418955 | controller | - ' done' 2025-11-25 08:56:04.418961 | controller | - ' ]' 2025-11-25 08:56:04.418967 | controller | - ' logger.go:42: 08:52:59 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.418973 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.418979 | controller | rely on' 2025-11-25 08:56:04.418987 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.418993 | controller | and checks that' 2025-11-25 08:56:04.418999 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.419005 | controller | pattern' 2025-11-25 08:56:04.419011 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.419017 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.419023 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.419029 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.419035 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.419041 | controller | - ' exit 0' 2025-11-25 08:56:04.419047 | controller | - ' else' 2025-11-25 08:56:04.419053 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.419058 | controller | - ' exit 1' 2025-11-25 08:56:04.419064 | controller | - ' fi' 2025-11-25 08:56:04.419070 | controller | - ' ' 2025-11-25 08:56:04.419076 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.419082 | controller | them with a script' 2025-11-25 08:56:04.419088 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.419094 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.419112 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.419121 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.419130 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.419142 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.419147 | controller | - ' # it is an image' 2025-11-25 08:56:04.419153 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.419163 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.419169 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.419175 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.419180 | controller | - ' case $NAME in' 2025-11-25 08:56:04.419186 | controller | - ' API)' 2025-11-25 08:56:04.419192 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.419198 | controller | - ' ;;' 2025-11-25 08:56:04.419204 | controller | - ' esac' 2025-11-25 08:56:04.419210 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.419216 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.419222 | controller | - ' exit 1' 2025-11-25 08:56:04.419228 | controller | - ' fi' 2025-11-25 08:56:04.419235 | controller | - ' fi' 2025-11-25 08:56:04.419241 | controller | - ' done' 2025-11-25 08:56:04.419248 | controller | - ' ]' 2025-11-25 08:56:04.419258 | controller | - ' logger.go:42: 08:53:00 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.419274 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.419281 | controller | rely on' 2025-11-25 08:56:04.419289 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.419296 | controller | and checks that' 2025-11-25 08:56:04.419304 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.419311 | controller | pattern' 2025-11-25 08:56:04.419319 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.419328 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.419335 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.419345 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.419353 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.419360 | controller | - ' exit 0' 2025-11-25 08:56:04.419366 | controller | - ' else' 2025-11-25 08:56:04.419372 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.419393 | controller | - ' exit 1' 2025-11-25 08:56:04.419399 | controller | - ' fi' 2025-11-25 08:56:04.419405 | controller | - ' ' 2025-11-25 08:56:04.419411 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.419417 | controller | them with a script' 2025-11-25 08:56:04.419423 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.419429 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.419435 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.419441 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.419447 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.419459 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.419465 | controller | - ' # it is an image' 2025-11-25 08:56:04.419471 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.419481 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.419487 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.419493 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.419499 | controller | - ' case $NAME in' 2025-11-25 08:56:04.419505 | controller | - ' API)' 2025-11-25 08:56:04.419511 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.419517 | controller | - ' ;;' 2025-11-25 08:56:04.419523 | controller | - ' esac' 2025-11-25 08:56:04.419529 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.419535 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.419541 | controller | - ' exit 1' 2025-11-25 08:56:04.419547 | controller | - ' fi' 2025-11-25 08:56:04.419553 | controller | - ' fi' 2025-11-25 08:56:04.419558 | controller | - ' done' 2025-11-25 08:56:04.419564 | controller | - ' ]' 2025-11-25 08:56:04.419570 | controller | - ' logger.go:42: 08:53:01 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.419576 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.419582 | controller | rely on' 2025-11-25 08:56:04.419588 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.419594 | controller | and checks that' 2025-11-25 08:56:04.419603 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.419609 | controller | pattern' 2025-11-25 08:56:04.419615 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.419621 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.419627 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.419633 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.419639 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.419648 | controller | - ' exit 0' 2025-11-25 08:56:04.419653 | controller | - ' else' 2025-11-25 08:56:04.419659 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.419665 | controller | - ' exit 1' 2025-11-25 08:56:04.419674 | controller | - ' fi' 2025-11-25 08:56:04.419680 | controller | - ' ' 2025-11-25 08:56:04.419690 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.419697 | controller | them with a script' 2025-11-25 08:56:04.419703 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.419709 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.419715 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.419720 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.419726 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.419738 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.419744 | controller | - ' # it is an image' 2025-11-25 08:56:04.419750 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.419756 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.419762 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.419768 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.419774 | controller | - ' case $NAME in' 2025-11-25 08:56:04.419788 | controller | - ' API)' 2025-11-25 08:56:04.419794 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.419800 | controller | - ' ;;' 2025-11-25 08:56:04.419806 | controller | - ' esac' 2025-11-25 08:56:04.419812 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.419818 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.419824 | controller | - ' exit 1' 2025-11-25 08:56:04.419830 | controller | - ' fi' 2025-11-25 08:56:04.419836 | controller | - ' fi' 2025-11-25 08:56:04.419842 | controller | - ' done' 2025-11-25 08:56:04.419848 | controller | - ' ]' 2025-11-25 08:56:04.419854 | controller | - ' logger.go:42: 08:53:02 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.419860 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.419866 | controller | rely on' 2025-11-25 08:56:04.419872 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.419878 | controller | and checks that' 2025-11-25 08:56:04.419884 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.419890 | controller | pattern' 2025-11-25 08:56:04.419896 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.419902 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.419910 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.419916 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.419922 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.419928 | controller | - ' exit 0' 2025-11-25 08:56:04.419934 | controller | - ' else' 2025-11-25 08:56:04.419940 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.419946 | controller | - ' exit 1' 2025-11-25 08:56:04.419952 | controller | - ' fi' 2025-11-25 08:56:04.419958 | controller | - ' ' 2025-11-25 08:56:04.419964 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.419970 | controller | them with a script' 2025-11-25 08:56:04.419976 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.419982 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.419987 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.419993 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.419999 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.420011 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.420017 | controller | - ' # it is an image' 2025-11-25 08:56:04.420023 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.420029 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.420034 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.420040 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.420046 | controller | - ' case $NAME in' 2025-11-25 08:56:04.420052 | controller | - ' API)' 2025-11-25 08:56:04.420058 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.420064 | controller | - ' ;;' 2025-11-25 08:56:04.420069 | controller | - ' esac' 2025-11-25 08:56:04.420075 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.420084 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.420090 | controller | - ' exit 1' 2025-11-25 08:56:04.420096 | controller | - ' fi' 2025-11-25 08:56:04.420126 | controller | - ' fi' 2025-11-25 08:56:04.420132 | controller | - ' done' 2025-11-25 08:56:04.420138 | controller | - ' ]' 2025-11-25 08:56:04.420144 | controller | - ' logger.go:42: 08:53:03 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.420153 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.420159 | controller | rely on' 2025-11-25 08:56:04.420165 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.420172 | controller | and checks that' 2025-11-25 08:56:04.420191 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.420205 | controller | pattern' 2025-11-25 08:56:04.420213 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.420221 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.420228 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.420236 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.420243 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.420251 | controller | - ' exit 0' 2025-11-25 08:56:04.420259 | controller | - ' else' 2025-11-25 08:56:04.420266 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.420273 | controller | - ' exit 1' 2025-11-25 08:56:04.420281 | controller | - ' fi' 2025-11-25 08:56:04.420289 | controller | - ' ' 2025-11-25 08:56:04.420296 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.420303 | controller | them with a script' 2025-11-25 08:56:04.420311 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.420318 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.420325 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.420332 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.420340 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.420354 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.420361 | controller | - ' # it is an image' 2025-11-25 08:56:04.420368 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.420376 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.420383 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.420390 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.420398 | controller | - ' case $NAME in' 2025-11-25 08:56:04.420406 | controller | - ' API)' 2025-11-25 08:56:04.420413 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.420420 | controller | - ' ;;' 2025-11-25 08:56:04.420427 | controller | - ' esac' 2025-11-25 08:56:04.420434 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.420442 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.420449 | controller | - ' exit 1' 2025-11-25 08:56:04.420462 | controller | - ' fi' 2025-11-25 08:56:04.420470 | controller | - ' fi' 2025-11-25 08:56:04.420477 | controller | - ' done' 2025-11-25 08:56:04.420485 | controller | - ' ]' 2025-11-25 08:56:04.420493 | controller | - ' logger.go:42: 08:53:05 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.420505 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.420513 | controller | rely on' 2025-11-25 08:56:04.420520 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.420528 | controller | and checks that' 2025-11-25 08:56:04.420537 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.420545 | controller | pattern' 2025-11-25 08:56:04.420552 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.420560 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.420567 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.420574 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.420582 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.420590 | controller | - ' exit 0' 2025-11-25 08:56:04.420597 | controller | - ' else' 2025-11-25 08:56:04.420605 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.420612 | controller | - ' exit 1' 2025-11-25 08:56:04.420620 | controller | - ' fi' 2025-11-25 08:56:04.420627 | controller | - ' ' 2025-11-25 08:56:04.420635 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.420644 | controller | them with a script' 2025-11-25 08:56:04.420652 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.420660 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.420667 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.420675 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.420683 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.420699 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.420706 | controller | - ' # it is an image' 2025-11-25 08:56:04.420714 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.420723 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.420731 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.420739 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.420746 | controller | - ' case $NAME in' 2025-11-25 08:56:04.420754 | controller | - ' API)' 2025-11-25 08:56:04.420767 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.420776 | controller | - ' ;;' 2025-11-25 08:56:04.420783 | controller | - ' esac' 2025-11-25 08:56:04.420791 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.420798 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.420806 | controller | - ' exit 1' 2025-11-25 08:56:04.420814 | controller | - ' fi' 2025-11-25 08:56:04.420821 | controller | - ' fi' 2025-11-25 08:56:04.420829 | controller | - ' done' 2025-11-25 08:56:04.420836 | controller | - ' ]' 2025-11-25 08:56:04.420844 | controller | - ' logger.go:42: 08:53:06 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 08:56:04.420852 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 08:56:04.420859 | controller | rely on' 2025-11-25 08:56:04.420867 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 08:56:04.420874 | controller | and checks that' 2025-11-25 08:56:04.420882 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 08:56:04.420894 | controller | pattern' 2025-11-25 08:56:04.420902 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 08:56:04.420909 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 08:56:04.420917 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 08:56:04.420925 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 08:56:04.420932 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 08:56:04.420939 | controller | - ' exit 0' 2025-11-25 08:56:04.420947 | controller | - ' else' 2025-11-25 08:56:04.420954 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 08:56:04.420962 | controller | - ' exit 1' 2025-11-25 08:56:04.420973 | controller | - ' fi' 2025-11-25 08:56:04.420981 | controller | - ' ' 2025-11-25 08:56:04.420989 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 08:56:04.420996 | controller | them with a script' 2025-11-25 08:56:04.421004 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 08:56:04.421011 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 08:56:04.421019 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 08:56:04.421026 | controller | -o go-template="$tupleTemplate")' 2025-11-25 08:56:04.421034 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 08:56:04.421049 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 08:56:04.421056 | controller | - ' # it is an image' 2025-11-25 08:56:04.421064 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 08:56:04.421071 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 08:56:04.421079 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 08:56:04.421086 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 08:56:04.421093 | controller | - ' case $NAME in' 2025-11-25 08:56:04.421128 | controller | - ' API)' 2025-11-25 08:56:04.421137 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 08:56:04.421145 | controller | - ' ;;' 2025-11-25 08:56:04.421152 | controller | - ' esac' 2025-11-25 08:56:04.421160 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 08:56:04.421168 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 08:56:04.421175 | controller | - ' exit 1' 2025-11-25 08:56:04.421183 | controller | - ' fi' 2025-11-25 08:56:04.421191 | controller | - ' fi' 2025-11-25 08:56:04.421199 | controller | - ' done' 2025-11-25 08:56:04.421207 | controller | - ' ]' 2025-11-25 08:56:04.421215 | controller | - ' logger.go:42: 08:53:06 | fernet_rotation/0-deploy_keystone | test step completed 2025-11-25 08:56:04.421223 | controller | 0-deploy_keystone' 2025-11-25 08:56:04.421230 | controller | - ' logger.go:42: 08:53:06 | fernet_rotation/1-deploy_openstackclient | starting 2025-11-25 08:56:04.421238 | controller | test step 1-deploy_openstackclient' 2025-11-25 08:56:04.421246 | controller | - ' logger.go:42: 08:53:06 | fernet_rotation/1-deploy_openstackclient | Pod:keystone-kuttl-tests/openstackclient 2025-11-25 08:56:04.421254 | controller | created' 2025-11-25 08:56:04.421262 | controller | - ' logger.go:42: 08:53:06 | fernet_rotation/1-deploy_openstackclient | running 2025-11-25 08:56:04.421270 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-11-25 08:56:04.421278 | controller | - ' logger.go:42: 08:53:06 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-11-25 08:56:04.421290 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-11-25 08:56:04.421298 | controller | - ' logger.go:42: 08:53:15 | fernet_rotation/1-deploy_openstackclient | pod/openstackclient 2025-11-25 08:56:04.421306 | controller | condition met' 2025-11-25 08:56:04.421314 | controller | - ' logger.go:42: 08:53:15 | fernet_rotation/1-deploy_openstackclient | + alias 2025-11-25 08:56:04.421321 | controller | ''openstack=oc exec -tn keystone-kuttl-tests openstackclient -- openstack''' 2025-11-25 08:56:04.421329 | controller | - ' logger.go:42: 08:53:15 | fernet_rotation/1-deploy_openstackclient | ++ oc exec 2025-11-25 08:56:04.421341 | controller | -tn keystone-kuttl-tests openstackclient -- openstack token issue -f value -c id' 2025-11-25 08:56:04.421349 | controller | - ' logger.go:42: 08:53:20 | fernet_rotation/1-deploy_openstackclient | + export 2025-11-25 08:56:04.421363 | controller | OS_TOKEN=gAAAAABpJW5_hTETfXM49aDQcUL5mOp6MPPVOxw4qJ9hF88KNrFonunIaZbvVEzrur8VnQXYK1tl60jot34Si4-JRO4SRKVl8kFf1-wAyunXTMw0gT8dus8gtWX1cF-q2_LQpWfgdeycR0mDAQfS40HpYk6TiyTbOrY25hrPqkCCeuPgbLKW3MA' 2025-11-25 08:56:04.421372 | controller | - ' logger.go:42: 08:53:20 | fernet_rotation/1-deploy_openstackclient | + OS_TOKEN=gAAAAABpJW5_hTETfXM49aDQcUL5mOp6MPPVOxw4qJ9hF88KNrFonunIaZbvVEzrur8VnQXYK1tl60jot34Si4-JRO4SRKVl8kFf1-wAyunXTMw0gT8dus8gtWX1cF-q2_LQpWfgdeycR0mDAQfS40HpYk6TiyTbOrY25hrPqkCCeuPgbLKW3MA' 2025-11-25 08:56:04.421380 | controller | - ' logger.go:42: 08:53:20 | fernet_rotation/1-deploy_openstackclient | + echo 2025-11-25 08:56:04.421389 | controller | gAAAAABpJW5_hTETfXM49aDQcUL5mOp6MPPVOxw4qJ9hF88KNrFonunIaZbvVEzrur8VnQXYK1tl60jot34Si4-JRO4SRKVl8kFf1-wAyunXTMw0gT8dus8gtWX1cF-q2_LQpWfgdeycR0mDAQfS40HpYk6TiyTbOrY25hrPqkCCeuPgbLKW3MA' 2025-11-25 08:56:04.421397 | controller | - ' logger.go:42: 08:53:20 | fernet_rotation/1-deploy_openstackclient | test step 2025-11-25 08:56:04.421405 | controller | completed 1-deploy_openstackclient' 2025-11-25 08:56:04.421412 | controller | - ' logger.go:42: 08:53:20 | fernet_rotation/2-rotate_keys | starting test step 2025-11-25 08:56:04.421420 | controller | 2-rotate_keys' 2025-11-25 08:56:04.421428 | controller | - ' logger.go:42: 08:53:20 | fernet_rotation/2-rotate_keys | Secret:keystone-kuttl-tests/keystone 2025-11-25 08:56:04.421436 | controller | updated' 2025-11-25 08:56:04.421444 | controller | - ' logger.go:42: 08:53:20 | fernet_rotation/2-rotate_keys | running command: [sh 2025-11-25 08:56:04.421452 | controller | -c ../../common/scripts/validate_test_token.sh]' 2025-11-25 08:56:04.421460 | controller | - ' logger.go:42: 08:53:20 | fernet_rotation/2-rotate_keys | + seconds=1' 2025-11-25 08:56:04.421467 | controller | - ' logger.go:42: 08:53:20 | fernet_rotation/2-rotate_keys | + ''['' 1 -le 30 '']''' 2025-11-25 08:56:04.421475 | controller | - ' logger.go:42: 08:53:20 | fernet_rotation/2-rotate_keys | ++ oc get secret keystone 2025-11-25 08:56:04.421483 | controller | -n keystone-kuttl-tests -o ''jsonpath={.metadata.annotations[''\''''keystone\.openstack\.org/rotatedat''\'''']}''' 2025-11-25 08:56:04.421491 | controller | - ' logger.go:42: 08:53:20 | fernet_rotation/2-rotate_keys | + rotatedat=2025-11-25T08:53:20Z' 2025-11-25 08:56:04.421499 | controller | - ' logger.go:42: 08:53:20 | fernet_rotation/2-rotate_keys | + ''['' 2025-11-25T08:53:20Z 2025-11-25 08:56:04.421507 | controller | ''!='' 2009-11-10T23:00:00Z '']''' 2025-11-25 08:56:04.421515 | controller | - ' logger.go:42: 08:53:20 | fernet_rotation/2-rotate_keys | + break' 2025-11-25 08:56:04.421523 | controller | - ' logger.go:42: 08:53:20 | fernet_rotation/2-rotate_keys | + sleep 60' 2025-11-25 08:56:04.421531 | controller | - ' logger.go:42: 08:54:20 | fernet_rotation/2-rotate_keys | ++ cat /tmp/temporary_test_token' 2025-11-25 08:56:04.421539 | controller | - ' logger.go:42: 08:54:20 | fernet_rotation/2-rotate_keys | + export OS_TOKEN=gAAAAABpJW5_hTETfXM49aDQcUL5mOp6MPPVOxw4qJ9hF88KNrFonunIaZbvVEzrur8VnQXYK1tl60jot34Si4-JRO4SRKVl8kFf1-wAyunXTMw0gT8dus8gtWX1cF-q2_LQpWfgdeycR0mDAQfS40HpYk6TiyTbOrY25hrPqkCCeuPgbLKW3MA' 2025-11-25 08:56:04.421547 | controller | - ' logger.go:42: 08:54:20 | fernet_rotation/2-rotate_keys | + OS_TOKEN=gAAAAABpJW5_hTETfXM49aDQcUL5mOp6MPPVOxw4qJ9hF88KNrFonunIaZbvVEzrur8VnQXYK1tl60jot34Si4-JRO4SRKVl8kFf1-wAyunXTMw0gT8dus8gtWX1cF-q2_LQpWfgdeycR0mDAQfS40HpYk6TiyTbOrY25hrPqkCCeuPgbLKW3MA' 2025-11-25 08:56:04.421561 | controller | - ' logger.go:42: 08:54:20 | fernet_rotation/2-rotate_keys | ++ oc exec -tn keystone-kuttl-tests 2025-11-25 08:56:04.421569 | controller | openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 08:56:04.421577 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJW5_hTETfXM49aDQcUL5mOp6MPPVOxw4qJ9hF88KNrFonunIaZbvVEzrur8VnQXYK1tl60jot34Si4-JRO4SRKVl8kFf1-wAyunXTMw0gT8dus8gtWX1cF-q2_LQpWfgdeycR0mDAQfS40HpYk6TiyTbOrY25hrPqkCCeuPgbLKW3MA 2025-11-25 08:56:04.421585 | controller | openstack endpoint list' 2025-11-25 08:56:04.421593 | controller | - ' logger.go:42: 08:54:23 | fernet_rotation/2-rotate_keys | ++ true' 2025-11-25 08:56:04.421601 | controller | - ' logger.go:42: 08:54:23 | fernet_rotation/2-rotate_keys | + output=''The service 2025-11-25 08:56:04.421609 | controller | catalog is empty.' 2025-11-25 08:56:04.421617 | controller | - ' logger.go:42: 08:54:23 | fernet_rotation/2-rotate_keys | command terminated 2025-11-25 08:56:04.421625 | controller | with exit code 1''' 2025-11-25 08:56:04.421633 | controller | - ' logger.go:42: 08:54:23 | fernet_rotation/2-rotate_keys | + echo ''The service 2025-11-25 08:56:04.421640 | controller | catalog is empty.' 2025-11-25 08:56:04.421648 | controller | - ' logger.go:42: 08:54:23 | fernet_rotation/2-rotate_keys | command terminated 2025-11-25 08:56:04.421656 | controller | with exit code 1''' 2025-11-25 08:56:04.421664 | controller | - ' logger.go:42: 08:54:23 | fernet_rotation/2-rotate_keys | + grep -qi ''Could 2025-11-25 08:56:04.421672 | controller | not recognize Fernet token''' 2025-11-25 08:56:04.421680 | controller | - ' logger.go:42: 08:54:23 | fernet_rotation/2-rotate_keys | + exit 0' 2025-11-25 08:56:04.421688 | controller | - ' logger.go:42: 08:54:23 | fernet_rotation/2-rotate_keys | test step completed 2025-11-25 08:56:04.421695 | controller | 2-rotate_keys' 2025-11-25 08:56:04.421703 | controller | - ' logger.go:42: 08:54:23 | fernet_rotation/3-rotate_keys_until_invalidate | starting 2025-11-25 08:56:04.421711 | controller | test step 3-rotate_keys_until_invalidate' 2025-11-25 08:56:04.421722 | controller | - ' logger.go:42: 08:54:23 | fernet_rotation/3-rotate_keys_until_invalidate | running 2025-11-25 08:56:04.421730 | controller | command: [sh -c ../../common/scripts/rotate_token.sh]' 2025-11-25 08:56:04.421738 | controller | - ' logger.go:42: 08:54:23 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 08:56:04.421746 | controller | TMP_SECRET_FILE=/tmp/keystone-secret.yaml' 2025-11-25 08:56:04.421754 | controller | - ' logger.go:42: 08:54:23 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 08:56:04.421762 | controller | for rotation in {1..5}' 2025-11-25 08:56:04.421770 | controller | - ' logger.go:42: 08:54:23 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 08:56:04.421777 | controller | echo ''Starting rotation 1...''' 2025-11-25 08:56:04.421785 | controller | - ' logger.go:42: 08:54:23 | fernet_rotation/3-rotate_keys_until_invalidate | Starting 2025-11-25 08:56:04.421793 | controller | rotation 1...' 2025-11-25 08:56:04.421801 | controller | - ' logger.go:42: 08:54:23 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 08:56:04.421809 | controller | generate_secret_yaml' 2025-11-25 08:56:04.421817 | controller | - ' logger.go:42: 08:54:23 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 08:56:04.421824 | controller | cat' 2025-11-25 08:56:04.421832 | controller | - ' logger.go:42: 08:54:23 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 08:56:04.421840 | controller | oc apply -f /tmp/keystone-secret.yaml' 2025-11-25 08:56:04.421848 | controller | - ' logger.go:42: 08:54:23 | fernet_rotation/3-rotate_keys_until_invalidate | Warning: 2025-11-25 08:56:04.421856 | controller | resource secrets/keystone is missing the kubectl.kubernetes.io/last-applied-configuration 2025-11-25 08:56:04.421864 | controller | annotation which is required by oc apply. oc apply should only be used on resources 2025-11-25 08:56:04.421872 | controller | created declaratively by either oc create --save-config or oc apply. The missing 2025-11-25 08:56:04.421883 | controller | annotation will be patched automatically.' 2025-11-25 08:56:04.421891 | controller | - ' logger.go:42: 08:54:23 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone 2025-11-25 08:56:04.421899 | controller | configured' 2025-11-25 08:56:04.421906 | controller | - ' logger.go:42: 08:54:23 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 08:56:04.421914 | controller | sleep 100' 2025-11-25 08:56:04.421922 | controller | - ' logger.go:42: 08:56:03 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 08:56:04.421930 | controller | echo ''Rotation 1 completed successfully.''' 2025-11-25 08:56:04.421937 | controller | - ' logger.go:42: 08:56:03 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 2025-11-25 08:56:04.421945 | controller | 1 completed successfully.' 2025-11-25 08:56:04.421955 | controller | - ' logger.go:42: 08:56:03 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 08:56:04.421963 | controller | for rotation in {1..5}' 2025-11-25 08:56:04.421970 | controller | - ' logger.go:42: 08:56:03 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 08:56:04.421978 | controller | echo ''Starting rotation 2...''' 2025-11-25 08:56:04.421986 | controller | - ' logger.go:42: 08:56:03 | fernet_rotation/3-rotate_keys_until_invalidate | Starting 2025-11-25 08:56:04.421994 | controller | rotation 2...' 2025-11-25 08:56:04.422002 | controller | - ' logger.go:42: 08:56:03 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 08:56:04.422010 | controller | generate_secret_yaml' 2025-11-25 08:56:04.422018 | controller | - ' logger.go:42: 08:56:03 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 08:56:04.422025 | controller | cat' 2025-11-25 08:56:04.422033 | controller | - ' logger.go:42: 08:56:03 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 08:56:04.422041 | controller | oc apply -f /tmp/keystone-secret.yaml' 2025-11-25 08:56:04.422049 | controller | - ' logger.go:42: 08:56:04 | fernet_rotation/3-rotate_keys_until_invalidate | error: 2025-11-25 08:56:04.422057 | controller | error when retrieving current configuration of:' 2025-11-25 08:56:04.422065 | controller | - ' logger.go:42: 08:56:04 | fernet_rotation/3-rotate_keys_until_invalidate | Resource: 2025-11-25 08:56:04.422073 | controller | "/v1, Resource=secrets", GroupVersionKind: "/v1, Kind=Secret"' 2025-11-25 08:56:04.422084 | controller | - ' logger.go:42: 08:56:04 | fernet_rotation/3-rotate_keys_until_invalidate | Name: 2025-11-25 08:56:04.422092 | controller | "keystone", Namespace: "keystone-kuttl-tests"' 2025-11-25 08:56:04.422117 | controller | - ' logger.go:42: 08:56:04 | fernet_rotation/3-rotate_keys_until_invalidate | from 2025-11-25 08:56:04.422128 | controller | server for: "/tmp/keystone-secret.yaml": Get "https://api.crc.testing:6443/api/v1/namespaces/keystone-kuttl-tests/secrets/keystone": 2025-11-25 08:56:04.422136 | controller | dial tcp 38.102.83.222:6443: connect: connection refused' 2025-11-25 08:56:04.422144 | controller | - ' logger.go:42: 08:56:04 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 08:56:04.422152 | controller | echo ''Failed to apply the secret!''' 2025-11-25 08:56:04.422160 | controller | - ' logger.go:42: 08:56:04 | fernet_rotation/3-rotate_keys_until_invalidate | Failed 2025-11-25 08:56:04.422167 | controller | to apply the secret!' 2025-11-25 08:56:04.422175 | controller | - ' logger.go:42: 08:56:04 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 08:56:04.422183 | controller | rm -f /tmp/keystone-secret.yaml' 2025-11-25 08:56:04.422191 | controller | - ' logger.go:42: 08:56:04 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 08:56:04.422199 | controller | exit 1' 2025-11-25 08:56:04.422207 | controller | - ' case.go:396: failed in step 3-rotate_keys_until_invalidate' 2025-11-25 08:56:04.422215 | controller | - ' case.go:398: command "../../common/scripts/rotate_token.sh" failed, exit status 2025-11-25 08:56:04.422223 | controller | 1' 2025-11-25 08:56:04.422231 | controller | - ' logger.go:42: 08:56:04 | fernet_rotation | skipping kubernetes event logging' 2025-11-25 08:56:04.422256 | controller | - ' step.go:213: Delete "https://api.crc.testing:6443/api/v1/namespaces/keystone-kuttl-tests/pods/openstackclient": 2025-11-25 08:56:04.448060 | controller | dial tcp 38.102.83.222:6443: connect: connection refused' 2025-11-25 08:56:04.448112 | controller | - ' step.go:213: Delete "https://api.crc.testing:6443/apis/keystone.openstack.org/v1beta1/namespaces/keystone-kuttl-tests/keystoneapis/keystone": 2025-11-25 08:56:04.448122 | controller | dial tcp 38.102.83.222:6443: connect: connection refused' 2025-11-25 08:56:04.448129 | controller | - === NAME kuttl 2025-11-25 08:56:04.448135 | controller | - ' harness.go:406: run tests finished' 2025-11-25 08:56:04.448141 | controller | - ' harness.go:514: cleaning up' 2025-11-25 08:56:04.448147 | controller | - ' harness.go:571: removing temp folder: ""' 2025-11-25 08:56:04.448154 | controller | - '--- FAIL: kuttl (523.62s)' 2025-11-25 08:56:04.448160 | controller | - ' --- FAIL: kuttl/harness (0.00s)' 2025-11-25 08:56:04.448166 | controller | - ' --- PASS: kuttl/harness/change_keystone_config (77.48s)' 2025-11-25 08:56:04.448172 | controller | - ' --- PASS: kuttl/harness/keystone_scale (89.11s)' 2025-11-25 08:56:04.448178 | controller | - ' --- PASS: kuttl/harness/keystone_tls (58.27s)' 2025-11-25 08:56:04.448184 | controller | - ' --- PASS: kuttl/harness/keystone_resources (70.58s)' 2025-11-25 08:56:04.448190 | controller | - ' --- FAIL: kuttl/harness/fernet_rotation (228.18s)' 2025-11-25 08:56:04.448196 | controller | - FAIL 2025-11-25 08:56:04.448202 | controller | - 'make[1]: *** [Makefile:1807: keystone_kuttl_run] Error 1' 2025-11-25 08:56:04.448219 | controller | - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-11-25 08:56:04.448225 | controller | - 'make: *** [Makefile:1816: keystone_kuttl] Error 2' 2025-11-25 08:56:04.448237 | controller | ...ignoring 2025-11-25 08:56:04.470836 | controller | 2025-11-25 08:56:04.470886 | controller | TASK [Get resource status after keystone_kuttl run _raw_params={{ item }} >> {{ cifmw_artifacts_basedir }}/logs/cmd_after_{{ operator }}_kuttl.log 2025-11-25 08:56:04.470896 | controller | ] *** 2025-11-25 08:56:04.470903 | controller | Tuesday 25 November 2025 08:56:04 +0000 (0:13:36.227) 0:15:59.243 ****** 2025-11-25 08:56:04.470911 | controller | Tuesday 25 November 2025 08:56:04 +0000 (0:13:36.227) 0:15:59.241 ****** 2025-11-25 08:56:04.470925 | controller | task path: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/run-kuttl-tests.yml:58 2025-11-25 08:56:04.660783 | controller | fatal: [localhost]: FAILED! => 2025-11-25 08:56:04.660854 | controller | msg: '''commands_after_kuttl_run'' is undefined. ''commands_after_kuttl_run'' is undefined' 2025-11-25 08:56:04.660862 | controller | ...ignoring 2025-11-25 08:56:04.660869 | controller | 2025-11-25 08:56:04.660875 | controller | TASK [Find the generated JUnitXML files paths={{ cifmw_installyamls_repos }}, file_type=file, patterns=*.xml] *** 2025-11-25 08:56:04.660882 | controller | Tuesday 25 November 2025 08:56:04 +0000 (0:00:00.022) 0:15:59.266 ****** 2025-11-25 08:56:04.660888 | controller | Tuesday 25 November 2025 08:56:04 +0000 (0:00:00.022) 0:15:59.264 ****** 2025-11-25 08:56:04.660905 | controller | ok: [localhost] 2025-11-25 08:56:04.885240 | controller | 2025-11-25 08:56:04.885305 | controller | TASK [Create the test results directory path={{ _kuttl_test_result_dir }}, state=directory, mode=0755] *** 2025-11-25 08:56:04.885313 | controller | Tuesday 25 November 2025 08:56:04 +0000 (0:00:00.189) 0:15:59.456 ****** 2025-11-25 08:56:04.885320 | controller | Tuesday 25 November 2025 08:56:04 +0000 (0:00:00.189) 0:15:59.454 ****** 2025-11-25 08:56:04.885336 | controller | changed: [localhost] 2025-11-25 08:56:05.476068 | controller | 2025-11-25 08:56:05.476131 | controller | TASK [Copy the generated test results to the test results directory src={{ item.path }}, dest={{ _kuttl_test_result_dir }}, mode=0644] *** 2025-11-25 08:56:05.476146 | controller | Tuesday 25 November 2025 08:56:04 +0000 (0:00:00.224) 0:15:59.680 ****** 2025-11-25 08:56:05.476155 | controller | Tuesday 25 November 2025 08:56:04 +0000 (0:00:00.224) 0:15:59.678 ****** 2025-11-25 08:56:05.476171 | 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': 1170, 'inode': 25308104, 'dev': 64513, 'nlink': 1, 'atime': 1764060964.075061, 'mtime': 1764060964.075061, 'ctime': 1764060964.075061, 'gr_name': 'zuul', 'pw_name': 'zuul', 'wusr': True, 'rusr': True, 'xusr': False, 'wgrp': False, 'rgrp': True, 'xgrp': False, 'woth': False, 'roth': True, 'xoth': False, 'isuid': False, 'isgid': False}) 2025-11-25 08:56:05.526508 | controller | 2025-11-25 08:56:05.526573 | controller | TASK [Fail when any tests failed that=['_kuttl_curr_operator_result.rc == 0'], success_msg=KUTTL tests for {{ operator }} passed, fail_msg=KUTTL tests for {{ operator }} failed] *** 2025-11-25 08:56:05.526586 | controller | Tuesday 25 November 2025 08:56:05 +0000 (0:00:00.591) 0:16:00.271 ****** 2025-11-25 08:56:05.526595 | controller | Tuesday 25 November 2025 08:56:05 +0000 (0:00:00.591) 0:16:00.269 ****** 2025-11-25 08:56:05.526624 | controller | task path: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/run-kuttl-tests.yml:96 2025-11-25 08:56:05.526635 | controller | fatal: [localhost]: FAILED! => 2025-11-25 08:56:05.526644 | controller | assertion: _kuttl_curr_operator_result.rc == 0 2025-11-25 08:56:05.526652 | controller | changed: false 2025-11-25 08:56:05.526660 | controller | evaluated_to: false 2025-11-25 08:56:05.526668 | controller | msg: KUTTL tests for keystone failed 2025-11-25 08:56:05.526676 | controller | 2025-11-25 08:56:05.526684 | controller | NO MORE HOSTS LEFT ************************************************************* 2025-11-25 08:56:05.526692 | controller | 2025-11-25 08:56:05.526700 | controller | PLAY RECAP ********************************************************************* 2025-11-25 08:56:05.526708 | controller | localhost : ok=109 changed=50 unreachable=0 failed=1 skipped=60 rescued=0 ignored=5 2025-11-25 08:56:05.526715 | controller | 2025-11-25 08:56:05.526785 | controller | Tuesday 25 November 2025 08:56:05 +0000 (0:00:00.049) 0:16:00.320 ****** 2025-11-25 08:56:05.526794 | controller | =============================================================================== 2025-11-25 08:56:05.526802 | controller | install_yamls_makes : Run keystone_kuttl ------------------------------ 816.23s 2025-11-25 08:56:05.526815 | controller | install_yamls_makes : Run download_tools ------------------------------- 35.01s 2025-11-25 08:56:05.526823 | controller | ci_setup : Install needed packages ------------------------------------- 29.79s 2025-11-25 08:56:05.526831 | controller | ci_local_storage : Remove the cifmw_cls_namespace namespace ------------ 10.88s 2025-11-25 08:56:05.526839 | controller | repo_setup : Initialize python venv and install requirements ------------ 8.63s 2025-11-25 08:56:05.526847 | controller | ci_local_storage : Perform action in the PV directory ------------------- 6.04s 2025-11-25 08:56:05.526855 | controller | ci_local_storage : Perform action in the PV directory ------------------- 5.91s 2025-11-25 08:56:05.526863 | controller | ci_setup : Install openshift client ------------------------------------- 5.38s 2025-11-25 08:56:05.526870 | controller | install_yamls_makes : Run crc_attach_default_interface ------------------ 5.19s 2025-11-25 08:56:05.526878 | controller | openshift_setup : Create required namespaces ---------------------------- 1.64s 2025-11-25 08:56:05.526885 | controller | ci_local_storage : Fetch hostnames for all hosts ------------------------ 1.60s 2025-11-25 08:56:05.526893 | controller | install_ca : Update ca bundle ------------------------------------------- 1.53s 2025-11-25 08:56:05.526900 | controller | repo_setup : Get repo-setup repository ---------------------------------- 1.13s 2025-11-25 08:56:05.526908 | controller | ci_setup : Manage directories ------------------------------------------- 1.03s 2025-11-25 08:56:05.526916 | controller | repo_setup : Make sure git-core package is installed -------------------- 0.99s 2025-11-25 08:56:05.526924 | controller | Gathering Facts --------------------------------------------------------- 0.98s 2025-11-25 08:56:05.526932 | controller | ci_local_storage : Fetch hostnames for all hosts ------------------------ 0.98s 2025-11-25 08:56:05.526939 | controller | openshift_setup : Patch network operator -------------------------------- 0.95s 2025-11-25 08:56:05.526947 | controller | openshift_setup : Gather network.operator info -------------------------- 0.90s 2025-11-25 08:56:05.526955 | controller | repo_setup : Install repo-setup package --------------------------------- 0.85s 2025-11-25 08:56:05.526970 | controller | Tuesday 25 November 2025 08:56:05 +0000 (0:00:00.050) 0:16:00.320 ****** 2025-11-25 08:56:05.526979 | controller | =============================================================================== 2025-11-25 08:56:05.526986 | controller | install_yamls_makes --------------------------------------------------- 856.60s 2025-11-25 08:56:05.526994 | controller | ci_setup --------------------------------------------------------------- 37.47s 2025-11-25 08:56:05.527002 | controller | ci_local_storage ------------------------------------------------------- 31.29s 2025-11-25 08:56:05.527009 | controller | repo_setup ------------------------------------------------------------- 17.10s 2025-11-25 08:56:05.527017 | controller | openshift_setup --------------------------------------------------------- 4.81s 2025-11-25 08:56:05.527025 | controller | openshift_login --------------------------------------------------------- 4.07s 2025-11-25 08:56:05.527033 | controller | install_yamls ----------------------------------------------------------- 3.06s 2025-11-25 08:56:05.527040 | controller | install_ca -------------------------------------------------------------- 1.97s 2025-11-25 08:56:05.527048 | controller | gather_facts ------------------------------------------------------------ 0.98s 2025-11-25 08:56:05.527056 | controller | cifmw_setup ------------------------------------------------------------- 0.64s 2025-11-25 08:56:05.527069 | controller | ansible.builtin.copy ---------------------------------------------------- 0.59s 2025-11-25 08:56:05.527077 | controller | discover_latest_image --------------------------------------------------- 0.41s 2025-11-25 08:56:05.527085 | controller | ansible.builtin.include_role -------------------------------------------- 0.33s 2025-11-25 08:56:05.527093 | controller | run_hook ---------------------------------------------------------------- 0.24s 2025-11-25 08:56:05.527121 | controller | ansible.builtin.file ---------------------------------------------------- 0.22s 2025-11-25 08:56:05.527135 | controller | ansible.builtin.find ---------------------------------------------------- 0.19s 2025-11-25 08:56:05.527143 | controller | ansible.builtin.set_fact ------------------------------------------------ 0.11s 2025-11-25 08:56:05.527151 | controller | ansible.builtin.include_tasks ------------------------------------------- 0.06s 2025-11-25 08:56:05.527159 | controller | ansible.builtin.include_vars -------------------------------------------- 0.05s 2025-11-25 08:56:05.527167 | controller | ansible.builtin.assert -------------------------------------------------- 0.05s 2025-11-25 08:56:05.527181 | controller | ansible.builtin.shell --------------------------------------------------- 0.05s 2025-11-25 08:56:05.651332 | controller | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-11-25 08:56:05.651502 | controller | total ----------------------------------------------------------------- 960.28s 2025-11-25 08:56:05.921398 | controller | ERROR 2025-11-25 08:56:05.921843 | controller | { 2025-11-25 08:56:05.921941 | controller | "delta": "0:16:01.644451", 2025-11-25 08:56:05.922000 | controller | "end": "2025-11-25 08:56:05.653973", 2025-11-25 08:56:05.922051 | controller | "msg": "non-zero return code", 2025-11-25 08:56:05.922100 | controller | "rc": 2, 2025-11-25 08:56:05.922149 | controller | "start": "2025-11-25 08:40:04.009522" 2025-11-25 08:56:05.922196 | controller | } failure 2025-11-25 08:56:06.080588 | 2025-11-25 08:56:06.080746 | PLAY RECAP 2025-11-25 08:56:06.080796 | controller | ok: 0 changed: 0 unreachable: 0 failed: 1 skipped: 0 rescued: 0 ignored: 0 2025-11-25 08:56:06.080818 | 2025-11-25 08:56:06.210923 | RUN END RESULT_NORMAL: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/run.yml@main] 2025-11-25 08:56:06.216433 | POST-RUN START: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/e2e-collect-logs.yml@main] 2025-11-25 08:56:07.002341 | 2025-11-25 08:56:07.002474 | PLAY [Run ci/playbooks/e2e-collect-logs.yml] 2025-11-25 08:56:07.085993 | 2025-11-25 08:56:07.086176 | TASK [Filter out host if needed] 2025-11-25 08:56:07.101106 | controller | skipping: end_host conditional evaluated to False, continuing execution for controller 2025-11-25 08:56:07.107844 | 2025-11-25 08:56:07.107909 | TASK [Filter out host if needed] 2025-11-25 08:56:07.123360 | 2025-11-25 08:56:07.123445 | TASK [Ensure we have the ci-framework on host] 2025-11-25 08:56:07.705444 | controller | ok 2025-11-25 08:56:07.722120 | 2025-11-25 08:56:07.722334 | TASK [End host if no basedir] 2025-11-25 08:56:07.737664 | controller | skipping: end_host conditional evaluated to False, continuing execution for controller 2025-11-25 08:56:07.745179 | 2025-11-25 08:56:07.745262 | TASK [Read base centos-9 scenarios] 2025-11-25 08:56:07.771450 | controller | ok 2025-11-25 08:56:07.866260 | 2025-11-25 08:56:07.866408 | TASK [cifmw_helpers : Fail if file is not yaml or yml extension] 2025-11-25 08:56:07.901384 | controller | skipping: Conditional result was False 2025-11-25 08:56:07.908624 | 2025-11-25 08:56:07.908709 | TASK [cifmw_helpers : Check if file is available] 2025-11-25 08:56:08.165120 | controller | ok 2025-11-25 08:56:08.241544 | 2025-11-25 08:56:08.241738 | TASK [cifmw_helpers : Create temporary directory] 2025-11-25 08:56:08.278126 | controller | skipping: Conditional result was False 2025-11-25 08:56:08.288265 | 2025-11-25 08:56:08.288370 | TASK [cifmw_helpers : Read vars] 2025-11-25 08:56:08.323746 | 2025-11-25 08:56:08.323941 | TASK [cifmw_helpers : Create new variable files with content] 2025-11-25 08:56:08.370440 | 2025-11-25 08:56:08.370646 | TASK [cifmw_helpers : Include vars] 2025-11-25 08:56:08.424467 | 2025-11-25 08:56:08.424702 | TASK [cifmw_helpers : Remove temporary directory] 2025-11-25 08:56:08.449411 | controller | skipping: Conditional result was False 2025-11-25 08:56:08.464288 | 2025-11-25 08:56:08.464415 | TASK [run_hook : Assert parameters are valid] 2025-11-25 08:56:08.550935 | controller | ok: All assertions passed 2025-11-25 08:56:08.559612 | 2025-11-25 08:56:08.559752 | TASK [run_hook : Assert single hooks are all mappings] 2025-11-25 08:56:08.634850 | controller | ok: All assertions passed 2025-11-25 08:56:08.645479 | 2025-11-25 08:56:08.645577 | LOOP [run_hook : Loop on hooks for pre_logs] 2025-11-25 08:56:08.757237 | 2025-11-25 08:56:08.757817 | TASK [cifmw_setup : Ensure cifmw_basedir param is set] 2025-11-25 08:56:08.793730 | controller | ok 2025-11-25 08:56:08.807032 | 2025-11-25 08:56:08.807176 | TASK [Read artifacts parameters dir and set as facts] 2025-11-25 08:56:08.827576 | controller | ok 2025-11-25 08:56:08.848269 | 2025-11-25 08:56:08.848342 | TASK [cifmw_helpers : Check directory is available] 2025-11-25 08:56:09.113725 | controller | ok 2025-11-25 08:56:09.120197 | 2025-11-25 08:56:09.120263 | TASK [cifmw_helpers : Find yaml files] 2025-11-25 08:56:09.526772 | controller | ok: All paths examined 2025-11-25 08:56:09.544718 | 2025-11-25 08:56:09.544875 | TASK [cifmw_helpers : Print available yaml files] 2025-11-25 08:56:09.606977 | controller | ok: Found yaml files to parse: ['/home/zuul/ci-framework-data/artifacts/parameters/zuul-params.yml', '/home/zuul/ci-framework-data/artifacts/parameters/install-yamls-params.yml', '/home/zuul/ci-framework-data/artifacts/parameters/custom-params.yml', '/home/zuul/ci-framework-data/artifacts/parameters/openshift-login-params.yml'] 2025-11-25 08:56:09.618155 | 2025-11-25 08:56:09.618311 | LOOP [cifmw_helpers : Create files on localhost and use include_vars] 2025-11-25 08:56:09.656432 | controller | Output suppressed because no_log was given 2025-11-25 08:56:09.656780 | 2025-11-25 08:56:09.669075 | controller | Output suppressed because no_log was given 2025-11-25 08:56:09.677213 | controller | Output suppressed because no_log was given 2025-11-25 08:56:09.683734 | controller | Output suppressed because no_log was given 2025-11-25 08:56:09.697666 | controller | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/roles/cifmw_helpers/tasks/include_file.yml 2025-11-25 08:56:09.702482 | controller | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/roles/cifmw_helpers/tasks/include_file.yml 2025-11-25 08:56:09.707107 | controller | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/roles/cifmw_helpers/tasks/include_file.yml 2025-11-25 08:56:09.711753 | controller | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/roles/cifmw_helpers/tasks/include_file.yml 2025-11-25 08:56:09.720028 | 2025-11-25 08:56:09.720087 | TASK [cifmw_helpers : Fail if file is not yaml or yml extension] 2025-11-25 08:56:09.766519 | controller | skipping: Conditional result was False 2025-11-25 08:56:09.776073 | 2025-11-25 08:56:09.776158 | TASK [cifmw_helpers : Check if file is available] 2025-11-25 08:56:10.081268 | controller | ok 2025-11-25 08:56:10.096561 | 2025-11-25 08:56:10.096748 | TASK [cifmw_helpers : Create temporary directory] 2025-11-25 08:56:10.544482 | controller -> localhost | changed 2025-11-25 08:56:10.552003 | 2025-11-25 08:56:10.552073 | TASK [cifmw_helpers : Read vars] 2025-11-25 08:56:10.961319 | controller | Output suppressed because no_log was given 2025-11-25 08:56:10.967432 | 2025-11-25 08:56:10.967497 | TASK [cifmw_helpers : Create new variable files with content] 2025-11-25 08:56:11.547939 | controller -> localhost | Output suppressed because no_log was given 2025-11-25 08:56:11.557814 | 2025-11-25 08:56:11.557906 | TASK [cifmw_helpers : Include vars] 2025-11-25 08:56:11.594563 | controller -> localhost | Output suppressed because no_log was given 2025-11-25 08:56:11.606211 | 2025-11-25 08:56:11.606299 | TASK [cifmw_helpers : Remove temporary directory] 2025-11-25 08:56:12.002646 | controller | ok 2025-11-25 08:56:12.012144 | 2025-11-25 08:56:12.012234 | TASK [cifmw_helpers : Fail if file is not yaml or yml extension] 2025-11-25 08:56:12.038998 | controller | skipping: Conditional result was False 2025-11-25 08:56:12.050169 | 2025-11-25 08:56:12.050262 | TASK [cifmw_helpers : Check if file is available] 2025-11-25 08:56:12.326843 | controller | ok 2025-11-25 08:56:12.342590 | 2025-11-25 08:56:12.342704 | TASK [cifmw_helpers : Create temporary directory] 2025-11-25 08:56:12.573601 | controller -> localhost | changed 2025-11-25 08:56:12.585755 | 2025-11-25 08:56:12.585894 | TASK [cifmw_helpers : Read vars] 2025-11-25 08:56:12.822778 | controller | Output suppressed because no_log was given 2025-11-25 08:56:12.829188 | 2025-11-25 08:56:12.829249 | TASK [cifmw_helpers : Create new variable files with content] 2025-11-25 08:56:13.285956 | controller -> localhost | Output suppressed because no_log was given 2025-11-25 08:56:13.294669 | 2025-11-25 08:56:13.294754 | TASK [cifmw_helpers : Include vars] 2025-11-25 08:56:13.340221 | controller -> localhost | Output suppressed because no_log was given 2025-11-25 08:56:13.352261 | 2025-11-25 08:56:13.352339 | TASK [cifmw_helpers : Remove temporary directory] 2025-11-25 08:56:13.657618 | controller | ok 2025-11-25 08:56:13.674524 | 2025-11-25 08:56:13.674750 | TASK [cifmw_helpers : Fail if file is not yaml or yml extension] 2025-11-25 08:56:13.716056 | controller | skipping: Conditional result was False 2025-11-25 08:56:13.787186 | 2025-11-25 08:56:13.787381 | TASK [cifmw_helpers : Check if file is available] 2025-11-25 08:56:14.051396 | controller | ok 2025-11-25 08:56:14.066787 | 2025-11-25 08:56:14.066932 | TASK [cifmw_helpers : Create temporary directory] 2025-11-25 08:56:14.386347 | controller -> localhost | changed 2025-11-25 08:56:14.403914 | 2025-11-25 08:56:14.404060 | TASK [cifmw_helpers : Read vars] 2025-11-25 08:56:14.653491 | controller | Output suppressed because no_log was given 2025-11-25 08:56:14.668983 | 2025-11-25 08:56:14.669119 | TASK [cifmw_helpers : Create new variable files with content] 2025-11-25 08:56:15.176534 | controller -> localhost | Output suppressed because no_log was given 2025-11-25 08:56:15.184489 | 2025-11-25 08:56:15.184558 | TASK [cifmw_helpers : Include vars] 2025-11-25 08:56:15.229400 | controller -> localhost | Output suppressed because no_log was given 2025-11-25 08:56:15.237140 | 2025-11-25 08:56:15.237220 | TASK [cifmw_helpers : Remove temporary directory] 2025-11-25 08:56:15.514490 | controller | ok 2025-11-25 08:56:15.525796 | 2025-11-25 08:56:15.525950 | TASK [cifmw_helpers : Fail if file is not yaml or yml extension] 2025-11-25 08:56:15.565191 | controller | skipping: Conditional result was False 2025-11-25 08:56:15.576642 | 2025-11-25 08:56:15.576773 | TASK [cifmw_helpers : Check if file is available] 2025-11-25 08:56:15.853494 | controller | ok 2025-11-25 08:56:15.860313 | 2025-11-25 08:56:15.860384 | TASK [cifmw_helpers : Create temporary directory] 2025-11-25 08:56:16.203342 | controller -> localhost | changed 2025-11-25 08:56:16.213839 | 2025-11-25 08:56:16.213951 | TASK [cifmw_helpers : Read vars] 2025-11-25 08:56:16.452599 | controller | Output suppressed because no_log was given 2025-11-25 08:56:16.462943 | 2025-11-25 08:56:16.463083 | TASK [cifmw_helpers : Create new variable files with content] 2025-11-25 08:56:16.965222 | controller -> localhost | Output suppressed because no_log was given 2025-11-25 08:56:16.980906 | 2025-11-25 08:56:16.981043 | TASK [cifmw_helpers : Include vars] 2025-11-25 08:56:17.018967 | controller -> localhost | Output suppressed because no_log was given 2025-11-25 08:56:17.032273 | 2025-11-25 08:56:17.032404 | TASK [cifmw_helpers : Remove temporary directory] 2025-11-25 08:56:17.333344 | controller | ok 2025-11-25 08:56:17.359460 | 2025-11-25 08:56:17.359608 | TASK [cifmw_setup : Set custom cifmw PATH reusable fact] 2025-11-25 08:56:17.398887 | controller | skipping: Conditional result was False 2025-11-25 08:56:17.411910 | 2025-11-25 08:56:17.412138 | TASK [cifmw_setup : Set destination folder for the logs] 2025-11-25 08:56:17.447555 | controller | ok 2025-11-25 08:56:17.457763 | 2025-11-25 08:56:17.457881 | TASK [artifacts : Verify if "success" flag exists after successful tests execution] 2025-11-25 08:56:17.723543 | controller | ok 2025-11-25 08:56:17.729874 | 2025-11-25 08:56:17.729939 | TASK [artifacts : Ensure we have at least minimal ansible facts] 2025-11-25 08:56:18.475944 | controller | ok 2025-11-25 08:56:18.491789 | 2025-11-25 08:56:18.491931 | LOOP [artifacts : Ensure base directory exists] 2025-11-25 08:56:18.766906 | controller | ok: "artifacts" 2025-11-25 08:56:18.991228 | controller | ok: "logs" 2025-11-25 08:56:19.003237 | 2025-11-25 08:56:19.003378 | TASK [artifacts : Load generated hook environment for further usage] 2025-11-25 08:56:19.046851 | controller | ERROR 2025-11-25 08:56:19.047102 | controller | { 2025-11-25 08:56:19.047131 | controller | "ansible_facts": {}, 2025-11-25 08:56:19.047159 | controller | "ansible_included_var_files": [], 2025-11-25 08:56:19.047178 | controller | "message": "/home/zuul/ci-framework-data/artifacts directory does not exist" 2025-11-25 08:56:19.047195 | controller | } 2025-11-25 08:56:19.047224 | controller | ERROR: Ignoring Errors 2025-11-25 08:56:19.054741 | 2025-11-25 08:56:19.054837 | TASK [artifacts : Gather parameter passed to the playbook] 2025-11-25 08:56:20.012144 | controller | changed 2025-11-25 08:56:20.027520 | 2025-11-25 08:56:20.027776 | TASK [artifacts : Gather facts] 2025-11-25 08:56:20.798883 | controller | changed 2025-11-25 08:56:20.816262 | 2025-11-25 08:56:20.816410 | TASK [artifacts : Copy some network configuration files] 2025-11-25 08:56:21.411249 | controller | changed 2025-11-25 08:56:21.424921 | 2025-11-25 08:56:21.425063 | TASK [artifacts : Get installed packages list] 2025-11-25 08:56:22.495124 | controller | ok 2025-11-25 08:56:22.564131 | 2025-11-25 08:56:22.564282 | TASK [artifacts : Output package list] 2025-11-25 08:56:23.323528 | controller | changed 2025-11-25 08:56:23.351433 | 2025-11-25 08:56:23.351593 | LOOP [artifacts : Cleanup unnecesary directories] 2025-11-25 08:56:23.781117 | controller | changed: "/home/zuul/ci-framework-data/artifacts/manifests/operator" 2025-11-25 08:56:23.781410 | controller | ok: All items complete 2025-11-25 08:56:23.781442 | 2025-11-25 08:56:23.858611 | 2025-11-25 08:56:23.858813 | TASK [os_must_gather : Ensure directories are present] 2025-11-25 08:56:24.143178 | controller | changed 2025-11-25 08:56:24.169716 | 2025-11-25 08:56:24.169829 | LOOP [os_must_gather : Construct project change list] 2025-11-25 08:56:24.312968 | controller | ok: 2025-11-25 08:56:24.313207 | controller | { 2025-11-25 08:56:24.313236 | controller | "branch": "main", 2025-11-25 08:56:24.313256 | controller | "change": "652", 2025-11-25 08:56:24.313273 | controller | "change_message": "Add pprof-bind-address flag support\n\nAdd optional pprof profiling endpoint configuration via --pprof-bind-address flag, matching neutron-operator implementation. Disabled by default (empty string).", 2025-11-25 08:56:24.313295 | controller | "change_url": "https://github.com/openstack-k8s-operators/keystone-operator/pull/652", 2025-11-25 08:56:24.313312 | controller | "commit_id": "99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a", 2025-11-25 08:56:24.313328 | controller | "patchset": "99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a", 2025-11-25 08:56:24.313344 | controller | "project": { 2025-11-25 08:56:24.313360 | controller | "canonical_hostname": "github.com", 2025-11-25 08:56:24.313376 | controller | "canonical_name": "github.com/openstack-k8s-operators/keystone-operator", 2025-11-25 08:56:24.313391 | controller | "name": "openstack-k8s-operators/keystone-operator", 2025-11-25 08:56:24.313407 | controller | "short_name": "keystone-operator", 2025-11-25 08:56:24.313421 | controller | "src_dir": "src/github.com/openstack-k8s-operators/keystone-operator" 2025-11-25 08:56:24.313436 | controller | }, 2025-11-25 08:56:24.313451 | controller | "topic": null 2025-11-25 08:56:24.313465 | controller | } 2025-11-25 08:56:24.377630 | 2025-11-25 08:56:24.377779 | TASK [os_must_gather : Get git tag for image tagging] 2025-11-25 08:56:25.005617 | controller | skipping: Conditional result was False 2025-11-25 08:56:25.053622 | 2025-11-25 08:56:25.053893 | TASK [os_must_gather : Debug git show-ref] 2025-11-25 08:56:25.081015 | controller | skipping: Conditional result was False 2025-11-25 08:56:25.115835 | 2025-11-25 08:56:25.115985 | TASK [os_must_gather : Build openstack-must-gather container] 2025-11-25 08:56:25.141892 | controller | skipping: Conditional result was False 2025-11-25 08:56:25.171412 | 2025-11-25 08:56:25.171555 | TASK [os_must_gather : Push openstack-must-gather container] 2025-11-25 08:56:25.197173 | controller | skipping: Conditional result was False 2025-11-25 08:56:25.226769 | 2025-11-25 08:56:25.226919 | TASK [os_must_gather : Set cifmw_os_must_gather_image to new image tag] 2025-11-25 08:56:25.252423 | controller | skipping: Conditional result was False 2025-11-25 08:56:25.285454 | 2025-11-25 08:56:25.285722 | TASK [os_must_gather : Check for oc command] 2025-11-25 08:56:25.881634 | controller | changed 2025-11-25 08:56:25.969407 | 2025-11-25 08:56:25.969562 | TASK [os_must_gather : Check if kubeconfig exists] 2025-11-25 08:56:26.323343 | controller | ok 2025-11-25 08:56:26.351051 | 2025-11-25 08:56:26.351203 | TASK [os_must_gather : Run openstack-must-gather command] 2025-11-25 08:56:28.950559 | controller | changed 2025-11-25 08:56:28.989022 | 2025-11-25 08:56:28.989231 | TASK [os_must_gather : Find existing os-must-gather directories] 2025-11-25 08:56:29.342701 | controller | ok: All paths examined 2025-11-25 08:56:29.373280 | 2025-11-25 08:56:29.373460 | TASK [os_must_gather : Create a symlink to newest os-must-gather directory] 2025-11-25 08:56:29.466458 | controller | ERROR 2025-11-25 08:56:29.466889 | controller | { 2025-11-25 08:56:29.466943 | controller | "msg": "The task includes an option with an undefined variable. The error was: Unable to look up a name or access an attribute in template string ({{ (_os_gather_latest_dir.files | sort(attribute='mtime', reverse=True) | first).path | basename }}).\nMake sure your variable name does not contain invalid characters like '-': expected str, bytes or os.PathLike object, not AnsibleUndefined. expected str, bytes or os.PathLike object, not AnsibleUndefined. Unable to look up a name or access an attribute in template string ({{ (_os_gather_latest_dir.files | sort(attribute='mtime', reverse=True) | first).path | basename }}).\nMake sure your variable name does not contain invalid characters like '-': expected str, bytes or os.PathLike object, not AnsibleUndefined. expected str, bytes or os.PathLike object, not AnsibleUndefined\n\nThe error appears to be in '/var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/roles/os_must_gather/tasks/main.yml': line 95, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n - name: Create a symlink to newest os-must-gather directory\n ^ here\n" 2025-11-25 08:56:29.466974 | controller | } 2025-11-25 08:56:29.467008 | controller | ERROR: Ignoring Errors 2025-11-25 08:56:29.516188 | 2025-11-25 08:56:29.516330 | TASK [artifacts : Create crc logs directory] 2025-11-25 08:56:29.868272 | controller | changed 2025-11-25 08:56:29.900956 | 2025-11-25 08:56:29.901223 | TASK [artifacts : Ensure controller knows CRC ssh keys] 2025-11-25 08:56:30.633198 | controller | changed 2025-11-25 08:56:30.676299 | 2025-11-25 08:56:30.676520 | TASK [artifacts : Recognize new keypair] 2025-11-25 08:56:30.978374 | controller | ok 2025-11-25 08:56:31.004203 | 2025-11-25 08:56:31.004367 | TASK [artifacts : Set fact if new keypair exists] 2025-11-25 08:56:31.053727 | controller | skipping: Conditional result was False 2025-11-25 08:56:31.077474 | 2025-11-25 08:56:31.077581 | TASK [artifacts : Prepare root ssh accesses] 2025-11-25 08:56:34.425756 | controller | changed 2025-11-25 08:56:34.467723 | 2025-11-25 08:56:34.467911 | TASK [artifacts : Copy logs from CRC VM] 2025-11-25 08:56:36.658429 | controller | changed 2025-11-25 08:56:36.681281 | 2025-11-25 08:56:36.681448 | TASK [artifacts : List all of the existing virtual machines] 2025-11-25 08:56:36.718198 | controller | skipping: Conditional result was False 2025-11-25 08:56:36.741460 | 2025-11-25 08:56:36.741558 | TASK [artifacts : Filter out edpm vm] 2025-11-25 08:56:36.777816 | controller | skipping: Conditional result was False 2025-11-25 08:56:36.801739 | 2025-11-25 08:56:36.801851 | TASK [artifacts : Slurp zuul inventory file] 2025-11-25 08:56:37.115382 | controller | ok 2025-11-25 08:56:37.143537 | 2025-11-25 08:56:37.143766 | LOOP [artifacts : Extract Compute and Networker from zuul mapping if any] 2025-11-25 08:56:37.216425 | 2025-11-25 08:56:37.216669 | LOOP [artifacts : Generate logs on edpm vm {{ item.split('/')[0] }}] 2025-11-25 08:56:37.279242 | 2025-11-25 08:56:37.279498 | LOOP [artifacts : Copy logs to host machine from {{ item.split('/')[0] }}] 2025-11-25 08:56:37.340244 | 2025-11-25 08:56:37.340491 | TASK [artifacts : Generate list of ansible logs to collect in home directory] 2025-11-25 08:56:37.627987 | controller | ok: All paths examined 2025-11-25 08:56:37.657777 | 2025-11-25 08:56:37.657999 | LOOP [artifacts : Copy ansible logs to logs directory] 2025-11-25 08:56:38.109425 | controller | changed: 2025-11-25 08:56:38.109965 | controller | { 2025-11-25 08:56:38.110035 | controller | "atime": 1764059976.1668289, 2025-11-25 08:56:38.110076 | controller | "ctime": 1764060965.526095, 2025-11-25 08:56:38.110112 | controller | "dev": 64513, 2025-11-25 08:56:38.110146 | controller | "gid": 1000, 2025-11-25 08:56:38.110179 | controller | "gr_name": "zuul", 2025-11-25 08:56:38.110212 | controller | "inode": 4650750, 2025-11-25 08:56:38.110244 | controller | "isblk": false, 2025-11-25 08:56:38.110276 | controller | "ischr": false, 2025-11-25 08:56:38.110307 | controller | "isdir": false, 2025-11-25 08:56:38.110339 | controller | "isfifo": false, 2025-11-25 08:56:38.110370 | controller | "isgid": false, 2025-11-25 08:56:38.110401 | controller | "islnk": false, 2025-11-25 08:56:38.110430 | controller | "isreg": true, 2025-11-25 08:56:38.110452 | controller | "issock": false, 2025-11-25 08:56:38.110473 | controller | "isuid": false, 2025-11-25 08:56:38.110494 | controller | "mode": "0644", 2025-11-25 08:56:38.110514 | controller | "mtime": 1764060965.526095, 2025-11-25 08:56:38.110535 | controller | "nlink": 1, 2025-11-25 08:56:38.110556 | controller | "path": "/home/zuul/ansible.log", 2025-11-25 08:56:38.110577 | controller | "pw_name": "zuul", 2025-11-25 08:56:38.110599 | controller | "rgrp": true, 2025-11-25 08:56:38.110620 | controller | "roth": true, 2025-11-25 08:56:38.110641 | controller | "rusr": true, 2025-11-25 08:56:38.110662 | controller | "size": 1351680, 2025-11-25 08:56:38.110711 | controller | "uid": 1000, 2025-11-25 08:56:38.110736 | controller | "wgrp": false, 2025-11-25 08:56:38.110757 | controller | "woth": false, 2025-11-25 08:56:38.110778 | controller | "wusr": true, 2025-11-25 08:56:38.110799 | controller | "xgrp": false, 2025-11-25 08:56:38.110820 | controller | "xoth": false, 2025-11-25 08:56:38.110840 | controller | "xusr": false 2025-11-25 08:56:38.110861 | controller | } 2025-11-25 08:56:38.110901 | 2025-11-25 08:56:38.167633 | 2025-11-25 08:56:38.167911 | TASK [artifacts : Ensure we have proper rights on the gathered content] 2025-11-25 08:56:39.886967 | controller | changed 2025-11-25 08:56:39.929171 | 2025-11-25 08:56:39.929381 | LOOP [artifacts : Mask secrets in yaml log files] 2025-11-25 08:56:49.690824 | controller | changed: "/home/zuul/ci-framework-data/logs" 2025-11-25 08:56:50.408998 | controller | changed: "/home/zuul/ci-framework-data/artifacts" 2025-11-25 08:56:50.541437 | 2025-11-25 08:56:50.541586 | LOOP [env_op_images : Ensure directory is present] 2025-11-25 08:56:50.825165 | controller | ok: "artifacts" 2025-11-25 08:56:50.825620 | controller | changed: All items complete 2025-11-25 08:56:50.825707 | 2025-11-25 08:56:51.022665 | controller | ok: "logs" 2025-11-25 08:56:51.054593 | 2025-11-25 08:56:51.054890 | TASK [env_op_images : Check if OpenStackControlPlane is setup] 2025-11-25 08:56:51.564851 | controller | error: the server doesn't have a resource type "OpenStackControlPlane" 2025-11-25 08:56:51.693399 | controller | changed: non-zero return code 2025-11-25 08:56:51.735773 | 2025-11-25 08:56:51.735913 | TASK [env_op_images : Get images from the CSV] 2025-11-25 08:56:52.426151 | controller | skipping: Conditional result was False 2025-11-25 08:56:52.447752 | 2025-11-25 08:56:52.447905 | TASK [env_op_images : Get the images name] 2025-11-25 08:56:53.082106 | controller | skipping: Conditional result was False 2025-11-25 08:56:53.130489 | 2025-11-25 08:56:53.130764 | TASK [env_op_images : Extract env variable name and images] 2025-11-25 08:56:53.168266 | controller | skipping: Conditional result was False 2025-11-25 08:56:53.201350 | 2025-11-25 08:56:53.201521 | TASK [env_op_images : Get all pods from all namespaces to find openstack-operator-index] 2025-11-25 08:56:53.238467 | controller | skipping: Conditional result was False 2025-11-25 08:56:53.270036 | 2025-11-25 08:56:53.270223 | TASK [env_op_images : Retrieve openstack-operator-index pod] 2025-11-25 08:56:53.307619 | controller | skipping: Conditional result was False 2025-11-25 08:56:53.400425 | 2025-11-25 08:56:53.400656 | TASK [env_op_images : Get all the pods in openstack-operator namespace] 2025-11-25 08:56:53.438916 | controller | skipping: Conditional result was False 2025-11-25 08:56:53.463339 | 2025-11-25 08:56:53.463474 | TASK [env_op_images : Get operator images and pods] 2025-11-25 08:56:53.500015 | controller | skipping: Conditional result was False 2025-11-25 08:56:53.523932 | 2025-11-25 08:56:53.524013 | LOOP [env_op_images : Add operator images to the dictionary] 2025-11-25 08:56:53.593255 | 2025-11-25 08:56:53.593457 | TASK [env_op_images : Write images to file] 2025-11-25 08:56:53.629797 | controller | skipping: Conditional result was False 2025-11-25 08:56:53.671878 | 2025-11-25 08:56:53.672011 | TASK [cifmw_setup : Create a versioned log folder] 2025-11-25 08:56:53.925491 | controller | changed 2025-11-25 08:56:53.944292 | 2025-11-25 08:56:53.944466 | TASK [cifmw_setup : Return a list of log files in home directory] 2025-11-25 08:56:54.233116 | controller | ok: All paths examined 2025-11-25 08:56:54.260540 | 2025-11-25 08:56:54.260742 | TASK [cifmw_setup : Ensure ansible facts cache exists] 2025-11-25 08:56:54.542179 | controller | ok 2025-11-25 08:56:54.560788 | 2025-11-25 08:56:54.560908 | LOOP [cifmw_setup : Copy logs to proper location] 2025-11-25 08:56:55.005774 | controller | changed: 2025-11-25 08:56:55.006078 | controller | { 2025-11-25 08:56:55.006130 | controller | "atime": 1764060997.9898522, 2025-11-25 08:56:55.006169 | controller | "ctime": 1764060965.526095, 2025-11-25 08:56:55.006204 | controller | "dev": 64513, 2025-11-25 08:56:55.006238 | controller | "gid": 1000, 2025-11-25 08:56:55.006271 | controller | "gr_name": "zuul", 2025-11-25 08:56:55.006303 | controller | "inode": 4650750, 2025-11-25 08:56:55.006335 | controller | "isblk": false, 2025-11-25 08:56:55.006367 | controller | "ischr": false, 2025-11-25 08:56:55.006399 | controller | "isdir": false, 2025-11-25 08:56:55.006430 | controller | "isfifo": false, 2025-11-25 08:56:55.006463 | controller | "isgid": false, 2025-11-25 08:56:55.006494 | controller | "islnk": false, 2025-11-25 08:56:55.006526 | controller | "isreg": true, 2025-11-25 08:56:55.006558 | controller | "issock": false, 2025-11-25 08:56:55.006590 | controller | "isuid": false, 2025-11-25 08:56:55.006621 | controller | "mode": "0644", 2025-11-25 08:56:55.006654 | controller | "mtime": 1764060965.526095, 2025-11-25 08:56:55.006727 | controller | "nlink": 1, 2025-11-25 08:56:55.006766 | controller | "path": "/home/zuul/ansible.log", 2025-11-25 08:56:55.006800 | controller | "pw_name": "zuul", 2025-11-25 08:56:55.006833 | controller | "rgrp": true, 2025-11-25 08:56:55.006865 | controller | "roth": true, 2025-11-25 08:56:55.006897 | controller | "rusr": true, 2025-11-25 08:56:55.006928 | controller | "size": 1351680, 2025-11-25 08:56:55.006959 | controller | "uid": 1000, 2025-11-25 08:56:55.006989 | controller | "wgrp": false, 2025-11-25 08:56:55.007021 | controller | "woth": false, 2025-11-25 08:56:55.007053 | controller | "wusr": true, 2025-11-25 08:56:55.007084 | controller | "xgrp": false, 2025-11-25 08:56:55.007114 | controller | "xoth": false, 2025-11-25 08:56:55.007145 | controller | "xusr": false 2025-11-25 08:56:55.007176 | controller | } 2025-11-25 08:56:55.007219 | 2025-11-25 08:56:55.053536 | 2025-11-25 08:56:55.053823 | LOOP [cifmw_setup : Remove original log from home directory] 2025-11-25 08:56:55.410214 | controller | changed: 2025-11-25 08:56:55.410395 | controller | { 2025-11-25 08:56:55.410419 | controller | "atime": 1764060997.9898522, 2025-11-25 08:56:55.410437 | controller | "ctime": 1764060965.526095, 2025-11-25 08:56:55.410453 | controller | "dev": 64513, 2025-11-25 08:56:55.410468 | controller | "gid": 1000, 2025-11-25 08:56:55.410483 | controller | "gr_name": "zuul", 2025-11-25 08:56:55.410498 | controller | "inode": 4650750, 2025-11-25 08:56:55.410513 | controller | "isblk": false, 2025-11-25 08:56:55.410527 | controller | "ischr": false, 2025-11-25 08:56:55.410542 | controller | "isdir": false, 2025-11-25 08:56:55.410557 | controller | "isfifo": false, 2025-11-25 08:56:55.410572 | controller | "isgid": false, 2025-11-25 08:56:55.410586 | controller | "islnk": false, 2025-11-25 08:56:55.410600 | controller | "isreg": true, 2025-11-25 08:56:55.410615 | controller | "issock": false, 2025-11-25 08:56:55.410629 | controller | "isuid": false, 2025-11-25 08:56:55.410643 | controller | "mode": "0644", 2025-11-25 08:56:55.410658 | controller | "mtime": 1764060965.526095, 2025-11-25 08:56:55.410672 | controller | "nlink": 1, 2025-11-25 08:56:55.410709 | controller | "path": "/home/zuul/ansible.log", 2025-11-25 08:56:55.410725 | controller | "pw_name": "zuul", 2025-11-25 08:56:55.410739 | controller | "rgrp": true, 2025-11-25 08:56:55.410754 | controller | "roth": true, 2025-11-25 08:56:55.410767 | controller | "rusr": true, 2025-11-25 08:56:55.410781 | controller | "size": 1351680, 2025-11-25 08:56:55.410795 | controller | "uid": 1000, 2025-11-25 08:56:55.410809 | controller | "wgrp": false, 2025-11-25 08:56:55.410823 | controller | "woth": false, 2025-11-25 08:56:55.410837 | controller | "wusr": true, 2025-11-25 08:56:55.410850 | controller | "xgrp": false, 2025-11-25 08:56:55.410864 | controller | "xoth": false, 2025-11-25 08:56:55.410878 | controller | "xusr": false 2025-11-25 08:56:55.410892 | controller | } 2025-11-25 08:56:55.440487 | 2025-11-25 08:56:55.440786 | TASK [cifmw_setup : Copy facts to dated directory] 2025-11-25 08:56:55.900000 | controller | changed 2025-11-25 08:56:55.926349 | 2025-11-25 08:56:55.926439 | TASK [run_hook : Assert parameters are valid] 2025-11-25 08:56:56.076383 | controller | ok: All assertions passed 2025-11-25 08:56:56.096633 | 2025-11-25 08:56:56.096813 | TASK [run_hook : Assert single hooks are all mappings] 2025-11-25 08:56:56.218382 | controller | ok: All assertions passed 2025-11-25 08:56:56.237420 | 2025-11-25 08:56:56.237516 | LOOP [run_hook : Loop on hooks for post_logs] 2025-11-25 08:56:56.521031 | 2025-11-25 08:56:56.521284 | PLAY [Run ci/playbooks/e2e-collect-logs.yml on CRC host] 2025-11-25 08:56:56.618494 | 2025-11-25 08:56:56.618690 | TASK [Get kubelet journalctl logs] 2025-11-25 08:56:58.160825 | crc | Output suppressed because no_log was given 2025-11-25 08:56:58.214711 | 2025-11-25 08:56:58.214824 | PLAY RECAP 2025-11-25 08:56:58.214968 | controller | ok: 74 changed: 28 unreachable: 0 failed: 0 skipped: 33 rescued: 0 ignored: 2 2025-11-25 08:56:58.215010 | crc | ok: 1 changed: 1 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2025-11-25 08:56:58.215034 | 2025-11-25 08:56:58.435366 | POST-RUN END RESULT_NORMAL: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/e2e-collect-logs.yml@main] 2025-11-25 08:56:58.442988 | POST-RUN START: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml@main] 2025-11-25 08:56:59.175210 | 2025-11-25 08:56:59.175472 | PLAY [Run ci/playbooks/collect-logs.yml] 2025-11-25 08:56:59.267755 | 2025-11-25 08:56:59.267967 | TASK [Filter out host if needed] 2025-11-25 08:56:59.337099 | controller | skipping: end_host conditional evaluated to False, continuing execution for controller 2025-11-25 08:56:59.343622 | 2025-11-25 08:56:59.343734 | TASK [Filter out host if needed] 2025-11-25 08:56:59.377318 | 2025-11-25 08:56:59.377490 | TASK [Ensure file is present] 2025-11-25 08:56:59.930177 | controller | ok 2025-11-25 08:56:59.963324 | 2025-11-25 08:56:59.963491 | TASK [Manage molecule report file] 2025-11-25 08:57:00.678101 | controller | skipping: Conditional result was False 2025-11-25 08:57:00.735484 | 2025-11-25 08:57:00.735700 | TASK [Check if we get ci-framework-data basedir] 2025-11-25 08:57:01.056062 | controller | ok 2025-11-25 08:57:01.093152 | 2025-11-25 08:57:01.093292 | TASK [Create ci-framework-data log directory for zuul] 2025-11-25 08:57:01.624608 | controller | changed 2025-11-25 08:57:01.649860 | 2025-11-25 08:57:01.649988 | TASK [Copy ci-framework interesting files] 2025-11-25 08:57:02.870573 | controller | changed 2025-11-25 08:57:02.936632 | 2025-11-25 08:57:02.936910 | TASK [Get SELinux listing] 2025-11-25 08:57:03.659979 | controller | changed 2025-11-25 08:57:03.719314 | 2025-11-25 08:57:03.719554 | TASK [Generate log index] 2025-11-25 08:57:04.729148 | controller | changed 2025-11-25 08:57:04.767579 | 2025-11-25 08:57:04.767770 | TASK [Get some env related data] 2025-11-25 08:57:05.662454 | controller | /home/zuul/.local/bin/ansible 2025-11-25 08:57:06.525169 | controller | changed 2025-11-25 08:57:06.548477 | 2025-11-25 08:57:06.548577 | TASK [Generate list of logs to collect in home directory] 2025-11-25 08:57:06.945008 | controller | ok: All paths examined 2025-11-25 08:57:06.971195 | 2025-11-25 08:57:06.971266 | LOOP [Copy logs from home directory] 2025-11-25 08:57:07.022463 | 2025-11-25 08:57:07.022653 | TASK [Copy crio stats log file] 2025-11-25 08:57:07.057814 | controller | skipping: Conditional result was False 2025-11-25 08:57:07.082955 | 2025-11-25 08:57:07.083045 | TASK [Get SELinux related data] 2025-11-25 08:57:07.557907 | controller | 2025-11-25 08:57:07.798290 | controller | ERROR 2025-11-25 08:57:07.798655 | controller | { 2025-11-25 08:57:07.798764 | controller | "delta": "0:00:00.035623", 2025-11-25 08:57:07.798810 | controller | "end": "2025-11-25 08:57:07.559256", 2025-11-25 08:57:07.798850 | controller | "msg": "non-zero return code", 2025-11-25 08:57:07.798887 | controller | "rc": 1, 2025-11-25 08:57:07.798924 | controller | "start": "2025-11-25 08:57:07.523633" 2025-11-25 08:57:07.798959 | controller | } 2025-11-25 08:57:07.799008 | controller | ERROR: Ignoring Errors 2025-11-25 08:57:07.848556 | 2025-11-25 08:57:07.848656 | TASK [Create system configuration directory] 2025-11-25 08:57:08.239825 | controller | changed 2025-11-25 08:57:08.263787 | 2025-11-25 08:57:08.263892 | TASK [Get some of the system configurations] 2025-11-25 08:57:08.970306 | controller | changed 2025-11-25 08:57:08.996306 | 2025-11-25 08:57:08.996465 | TASK [Copy generated documentation if available] 2025-11-25 08:57:09.023419 | controller | skipping: Conditional result was False 2025-11-25 08:57:09.050664 | 2025-11-25 08:57:09.050795 | TASK [Copy generated AsciiDoc documentation if available] 2025-11-25 08:57:09.086158 | controller | skipping: Conditional result was False 2025-11-25 08:57:09.115261 | 2025-11-25 08:57:09.115446 | TASK [Compress logs bigger than 2MB] 2025-11-25 08:57:10.331223 | controller | changed 2025-11-25 08:57:10.379707 | 2025-11-25 08:57:10.379878 | TASK [Copy files from workspace on node] 2025-11-25 08:57:10.492072 | controller | ok 2025-11-25 08:57:10.555310 | 2025-11-25 08:57:10.555463 | TASK [fetch-output : Set log path for multiple nodes] 2025-11-25 08:57:10.629102 | controller | ok 2025-11-25 08:57:10.653168 | 2025-11-25 08:57:10.653282 | TASK [fetch-output : Set log path for single node] 2025-11-25 08:57:10.678810 | controller | skipping: Conditional result was False 2025-11-25 08:57:10.708071 | 2025-11-25 08:57:10.708234 | LOOP [fetch-output : Ensure local output dirs] 2025-11-25 08:57:11.018176 | controller -> localhost | changed: "/var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/logs/controller" 2025-11-25 08:57:11.018661 | 2025-11-25 08:57:11.260450 | controller -> localhost | changed: "/var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/artifacts" 2025-11-25 08:57:11.532427 | controller -> localhost | changed: "/var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/docs" 2025-11-25 08:57:11.649622 | 2025-11-25 08:57:11.649816 | LOOP [fetch-output : Collect logs, artifacts and docs] 2025-11-25 08:57:13.057696 | controller | changed: 2025-11-25 08:57:13.058068 | controller | .d..t...... ./ 2025-11-25 08:57:13.058110 | controller | >f+++++++++ README.html 2025-11-25 08:57:13.058147 | controller | >f+++++++++ dmesg.log 2025-11-25 08:57:13.058183 | controller | >f+++++++++ installed-pkgs.log 2025-11-25 08:57:13.058212 | controller | >f+++++++++ python.log 2025-11-25 08:57:13.058244 | controller | >f+++++++++ registries.conf 2025-11-25 08:57:13.058273 | controller | >f+++++++++ selinux-denials.log 2025-11-25 08:57:13.058298 | controller | >f+++++++++ selinux-listing.log 2025-11-25 08:57:13.058323 | controller | cd+++++++++ ci-framework-data/ 2025-11-25 08:57:13.058356 | controller | cd+++++++++ ci-framework-data/artifacts/ 2025-11-25 08:57:13.058382 | controller | >f+++++++++ ci-framework-data/artifacts/ansible-facts.yml 2025-11-25 08:57:13.058406 | controller | >f+++++++++ ci-framework-data/artifacts/ansible-vars.yml 2025-11-25 08:57:13.058430 | controller | >f+++++++++ ci-framework-data/artifacts/ci_script_000_check_for_oc.sh 2025-11-25 08:57:13.058454 | controller | >f+++++++++ ci-framework-data/artifacts/ci_script_000_copy_logs_from_crc.sh 2025-11-25 08:57:13.058478 | controller | >f+++++++++ ci-framework-data/artifacts/ci_script_000_prepare_root_ssh.sh 2025-11-25 08:57:13.058502 | controller | >f+++++++++ ci-framework-data/artifacts/ci_script_000_run_download.sh 2025-11-25 08:57:13.058526 | controller | >f+++++++++ ci-framework-data/artifacts/ci_script_000_run_openstack_must_gather.sh 2025-11-25 08:57:13.058550 | controller | >f+++++++++ ci-framework-data/artifacts/ci_script_001_fetch_openshift.sh 2025-11-25 08:57:13.058603 | controller | >f+++++++++ ci-framework-data/artifacts/ci_script_002_run_crc_attach_default.sh 2025-11-25 08:57:13.058630 | controller | >f+++++++++ ci-framework-data/artifacts/ci_script_003_run_keystone.sh 2025-11-25 08:57:13.058654 | controller | >f+++++++++ ci-framework-data/artifacts/hosts 2025-11-25 08:57:13.058700 | controller | >f+++++++++ ci-framework-data/artifacts/install_yamls.sh 2025-11-25 08:57:13.058735 | controller | >f+++++++++ ci-framework-data/artifacts/installed-packages.yml 2025-11-25 08:57:13.058760 | controller | >f+++++++++ ci-framework-data/artifacts/ip-network.txt 2025-11-25 08:57:13.058788 | controller | >f+++++++++ ci-framework-data/artifacts/resolv.conf 2025-11-25 08:57:13.058821 | controller | >f+++++++++ ci-framework-data/artifacts/zuul_inventory.yml 2025-11-25 08:57:13.058854 | controller | cd+++++++++ ci-framework-data/artifacts/NetworkManager/ 2025-11-25 08:57:13.058880 | controller | >f+++++++++ ci-framework-data/artifacts/NetworkManager/ci-private-network.nmconnection 2025-11-25 08:57:13.058912 | controller | >f+++++++++ ci-framework-data/artifacts/NetworkManager/ens3.nmconnection 2025-11-25 08:57:13.058938 | controller | cd+++++++++ ci-framework-data/artifacts/ansible_facts.2025-11-25_08-56/ 2025-11-25 08:57:13.058962 | controller | cd+++++++++ ci-framework-data/artifacts/ansible_facts.2025-11-25_08-56/ansible_facts_cache/ 2025-11-25 08:57:13.058986 | controller | >f+++++++++ ci-framework-data/artifacts/ansible_facts.2025-11-25_08-56/ansible_facts_cache/localhost 2025-11-25 08:57:13.059010 | controller | cd+++++++++ ci-framework-data/artifacts/ci-env/ 2025-11-25 08:57:13.059041 | controller | >f+++++++++ ci-framework-data/artifacts/ci-env/networking-info.yml 2025-11-25 08:57:13.059076 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/ 2025-11-25 08:57:13.059111 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ 2025-11-25 08:57:13.059147 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml 2025-11-25 08:57:13.059185 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/ 2025-11-25 08:57:13.059211 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr/ 2025-11-25 08:57:13.059246 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr/kustomization.yaml 2025-11-25 08:57:13.059276 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr/memcached_v1beta1_memcached.yaml 2025-11-25 08:57:13.059306 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input/ 2025-11-25 08:57:13.059334 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input/kustomization.yaml 2025-11-25 08:57:13.059364 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/ 2025-11-25 08:57:13.059390 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr/ 2025-11-25 08:57:13.059415 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr/keystone_v1beta1_keystoneapi.yaml 2025-11-25 08:57:13.059440 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr/kustomization.yaml 2025-11-25 08:57:13.059465 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/ 2025-11-25 08:57:13.059490 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr/ 2025-11-25 08:57:13.059515 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr/kustomization.yaml 2025-11-25 08:57:13.059539 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr/mariadb_v1beta1_galera.yaml 2025-11-25 08:57:13.059564 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/ 2025-11-25 08:57:13.059589 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr/ 2025-11-25 08:57:13.059613 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr/kustomization.yaml 2025-11-25 08:57:13.059637 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr/rabbitmq.yaml 2025-11-25 08:57:13.059662 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/metallb-system/ 2025-11-25 08:57:13.059734 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml 2025-11-25 08:57:13.059764 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/metallb-system/metallb/ 2025-11-25 08:57:13.059789 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/ 2025-11-25 08:57:13.059814 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml 2025-11-25 08:57:13.059840 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/ 2025-11-25 08:57:13.059864 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml 2025-11-25 08:57:13.059889 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/infra/ 2025-11-25 08:57:13.059913 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/infra/op/ 2025-11-25 08:57:13.059937 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/infra/op/catalogsource.yaml 2025-11-25 08:57:13.059961 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/infra/op/operatorgroup.yaml 2025-11-25 08:57:13.059985 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/infra/op/subscription.yaml 2025-11-25 08:57:13.060011 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/keystone/ 2025-11-25 08:57:13.060035 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/keystone/op/ 2025-11-25 08:57:13.060058 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/keystone/op/catalogsource.yaml 2025-11-25 08:57:13.060089 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/keystone/op/operatorgroup.yaml 2025-11-25 08:57:13.060113 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/keystone/op/subscription.yaml 2025-11-25 08:57:13.060136 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/mariadb/ 2025-11-25 08:57:13.060159 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op/ 2025-11-25 08:57:13.060182 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op/catalogsource.yaml 2025-11-25 08:57:13.060205 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op/operatorgroup.yaml 2025-11-25 08:57:13.060228 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op/subscription.yaml 2025-11-25 08:57:13.060252 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/metallb/ 2025-11-25 08:57:13.060275 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/metallb/op/ 2025-11-25 08:57:13.060300 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/metallb/op/operatorgroup.yaml 2025-11-25 08:57:13.060324 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/metallb/op/subscription.yaml 2025-11-25 08:57:13.060348 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/ 2025-11-25 08:57:13.060371 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op/ 2025-11-25 08:57:13.060394 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op/catalogsource.yaml 2025-11-25 08:57:13.060418 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op/operatorgroup.yaml 2025-11-25 08:57:13.060441 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op/subscription.yaml 2025-11-25 08:57:13.060464 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/ 2025-11-25 08:57:13.060487 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/op/ 2025-11-25 08:57:13.060511 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack/ 2025-11-25 08:57:13.060535 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack/cr/ 2025-11-25 08:57:13.060559 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/storage/ 2025-11-25 08:57:13.060583 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/storage/storage-class.yaml 2025-11-25 08:57:13.060606 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/storage/storage.yaml 2025-11-25 08:57:13.060630 | controller | cd+++++++++ ci-framework-data/artifacts/parameters/ 2025-11-25 08:57:13.060655 | controller | >f+++++++++ ci-framework-data/artifacts/parameters/custom-params.yml 2025-11-25 08:57:13.060701 | controller | >f+++++++++ ci-framework-data/artifacts/parameters/install-yamls-params.yml 2025-11-25 08:57:13.060754 | controller | >f+++++++++ ci-framework-data/artifacts/parameters/openshift-login-params.yml 2025-11-25 08:57:13.060782 | controller | >f+++++++++ ci-framework-data/artifacts/parameters/zuul-params.yml 2025-11-25 08:57:13.060807 | controller | cd+++++++++ ci-framework-data/artifacts/repositories/ 2025-11-25 08:57:13.060831 | controller | >f+++++++++ ci-framework-data/artifacts/repositories/delorean-antelope-testing.repo 2025-11-25 08:57:13.060855 | controller | >f+++++++++ ci-framework-data/artifacts/repositories/delorean.repo 2025-11-25 08:57:13.060879 | controller | >f+++++++++ ci-framework-data/artifacts/repositories/delorean.repo.md5 2025-11-25 08:57:13.060903 | controller | >f+++++++++ ci-framework-data/artifacts/repositories/repo-setup-centos-appstream.repo 2025-11-25 08:57:13.060932 | controller | >f+++++++++ ci-framework-data/artifacts/repositories/repo-setup-centos-baseos.repo 2025-11-25 08:57:13.060957 | controller | >f+++++++++ ci-framework-data/artifacts/repositories/repo-setup-centos-highavailability.repo 2025-11-25 08:57:13.060981 | controller | >f+++++++++ ci-framework-data/artifacts/repositories/repo-setup-centos-powertools.repo 2025-11-25 08:57:13.061004 | controller | cd+++++++++ ci-framework-data/artifacts/roles/ 2025-11-25 08:57:13.061027 | controller | cd+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/ 2025-11-25 08:57:13.061051 | controller | cd+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/ 2025-11-25 08:57:13.061075 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_all.yml 2025-11-25 08:57:13.061100 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ansibleee.yml 2025-11-25 08:57:13.061124 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ansibleee_cleanup.yml 2025-11-25 08:57:13.061148 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ansibleee_kuttl.yml 2025-11-25 08:57:13.061172 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ansibleee_kuttl_cleanup.yml 2025-11-25 08:57:13.061196 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ansibleee_kuttl_prep.yml 2025-11-25 08:57:13.061220 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ansibleee_kuttl_run.yml 2025-11-25 08:57:13.061244 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ansibleee_prep.yml 2025-11-25 08:57:13.061268 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_attach_default_interface.yml 2025-11-25 08:57:13.061292 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_attach_default_interface_cleanup.yml 2025-11-25 08:57:13.061316 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican.yml 2025-11-25 08:57:13.061339 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican_cleanup.yml 2025-11-25 08:57:13.061363 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican_deploy.yml 2025-11-25 08:57:13.061387 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican_deploy_cleanup.yml 2025-11-25 08:57:13.061411 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican_deploy_prep.yml 2025-11-25 08:57:13.061436 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican_deploy_validate.yml 2025-11-25 08:57:13.061462 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican_kuttl.yml 2025-11-25 08:57:13.061486 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican_kuttl_run.yml 2025-11-25 08:57:13.061510 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican_prep.yml 2025-11-25 08:57:13.061534 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_baremetal.yml 2025-11-25 08:57:13.061557 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_baremetal_cleanup.yml 2025-11-25 08:57:13.061581 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_baremetal_prep.yml 2025-11-25 08:57:13.061604 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas.yml 2025-11-25 08:57:13.061628 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_baremetal_net_nad.yml 2025-11-25 08:57:13.061657 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_baremetal_net_nad_cleanup.yml 2025-11-25 08:57:13.061710 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_cleanup.yml 2025-11-25 08:57:13.061742 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_crc_attach_network.yml 2025-11-25 08:57:13.061766 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_crc_attach_network_cleanup.yml 2025-11-25 08:57:13.061792 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_crc_baremetal_bridge.yml 2025-11-25 08:57:13.061815 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_crc_baremetal_bridge_cleanup.yml 2025-11-25 08:57:13.061839 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_generate_nodes_yaml.yml 2025-11-25 08:57:13.061862 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_metallb.yml 2025-11-25 08:57:13.061884 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_metallb_cleanup.yml 2025-11-25 08:57:13.061907 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_network.yml 2025-11-25 08:57:13.061930 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_network_cleanup.yml 2025-11-25 08:57:13.061953 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_route_crc_and_crc_bmaas_networks.yml 2025-11-25 08:57:13.061976 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_route_crc_and_crc_bmaas_networks_cleanup.yml 2025-11-25 08:57:13.062000 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_sushy_emulator.yml 2025-11-25 08:57:13.062023 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_sushy_emulator_cleanup.yml 2025-11-25 08:57:13.062046 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_sushy_emulator_wait.yml 2025-11-25 08:57:13.062070 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_virtual_bms.yml 2025-11-25 08:57:13.062094 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_virtual_bms_cleanup.yml 2025-11-25 08:57:13.062117 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ceph.yml 2025-11-25 08:57:13.062140 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ceph_cleanup.yml 2025-11-25 08:57:13.062163 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ceph_help.yml 2025-11-25 08:57:13.062186 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_certmanager.yml 2025-11-25 08:57:13.062209 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_certmanager_cleanup.yml 2025-11-25 08:57:13.062236 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cifmw_cleanup.yml 2025-11-25 08:57:13.062272 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cifmw_prepare.yml 2025-11-25 08:57:13.062306 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cinder.yml 2025-11-25 08:57:13.062343 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cinder_cleanup.yml 2025-11-25 08:57:13.062367 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cinder_deploy.yml 2025-11-25 08:57:13.062399 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cinder_deploy_cleanup.yml 2025-11-25 08:57:13.062433 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cinder_deploy_prep.yml 2025-11-25 08:57:13.062461 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cinder_kuttl.yml 2025-11-25 08:57:13.062489 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cinder_kuttl_run.yml 2025-11-25 08:57:13.062520 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cinder_prep.yml 2025-11-25 08:57:13.062547 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cleanup.yml 2025-11-25 08:57:13.062846 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc.yml 2025-11-25 08:57:13.062890 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_attach_default_interface.yml 2025-11-25 08:57:13.062917 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_attach_default_interface_cleanup.yml 2025-11-25 08:57:13.062945 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_bmo_cleanup.yml 2025-11-25 08:57:13.062971 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_bmo_setup.yml 2025-11-25 08:57:13.062997 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_cleanup.yml 2025-11-25 08:57:13.063021 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_scrub.yml 2025-11-25 08:57:13.063045 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_storage.yml 2025-11-25 08:57:13.063070 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_storage_cleanup.yml 2025-11-25 08:57:13.063093 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_storage_cleanup_with_retries.yml 2025-11-25 08:57:13.063117 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_storage_release.yml 2025-11-25 08:57:13.063142 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_storage_with_retries.yml 2025-11-25 08:57:13.063165 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_deploy_cleanup.yml 2025-11-25 08:57:13.063189 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_designate.yml 2025-11-25 08:57:13.063213 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_designate_cleanup.yml 2025-11-25 08:57:13.063236 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_designate_deploy.yml 2025-11-25 08:57:13.063258 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_designate_deploy_cleanup.yml 2025-11-25 08:57:13.063281 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_designate_deploy_prep.yml 2025-11-25 08:57:13.063305 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_designate_kuttl.yml 2025-11-25 08:57:13.063328 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_designate_kuttl_run.yml 2025-11-25 08:57:13.063351 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_designate_prep.yml 2025-11-25 08:57:13.063374 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_dns_deploy.yml 2025-11-25 08:57:13.063397 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_dns_deploy_cleanup.yml 2025-11-25 08:57:13.063420 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_dns_deploy_prep.yml 2025-11-25 08:57:13.063453 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_download_tools.yml 2025-11-25 08:57:13.063477 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_ansible_runner.yml 2025-11-25 08:57:13.063501 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_baremetal_compute.yml 2025-11-25 08:57:13.063525 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_compute.yml 2025-11-25 08:57:13.063548 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_compute_bootc.yml 2025-11-25 08:57:13.063571 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_compute_cleanup.yml 2025-11-25 08:57:13.063594 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_compute_repos.yml 2025-11-25 08:57:13.063617 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_computes_bgp.yml 2025-11-25 08:57:13.063640 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy.yml 2025-11-25 08:57:13.063663 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_baremetal.yml 2025-11-25 08:57:13.063723 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_baremetal_prep.yml 2025-11-25 08:57:13.063750 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_cleanup.yml 2025-11-25 08:57:13.063773 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_generate_keys.yml 2025-11-25 08:57:13.063797 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_instance.yml 2025-11-25 08:57:13.063820 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_networker.yml 2025-11-25 08:57:13.063843 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_networker_cleanup.yml 2025-11-25 08:57:13.063866 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_networker_prep.yml 2025-11-25 08:57:13.063889 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_prep.yml 2025-11-25 08:57:13.063912 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_networker.yml 2025-11-25 08:57:13.063934 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_networker_cleanup.yml 2025-11-25 08:57:13.063957 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_nova_discover_hosts.yml 2025-11-25 08:57:13.063979 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_patch_ansible_runner_image.yml 2025-11-25 08:57:13.064002 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_register_dns.yml 2025-11-25 08:57:13.064025 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_wait_deploy.yml 2025-11-25 08:57:13.064048 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_wait_deploy_baremetal.yml 2025-11-25 08:57:13.064070 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_glance.yml 2025-11-25 08:57:13.064093 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_glance_cleanup.yml 2025-11-25 08:57:13.064116 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_glance_deploy.yml 2025-11-25 08:57:13.064144 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_glance_deploy_cleanup.yml 2025-11-25 08:57:13.064167 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_glance_deploy_prep.yml 2025-11-25 08:57:13.064189 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_glance_kuttl.yml 2025-11-25 08:57:13.064212 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_glance_kuttl_run.yml 2025-11-25 08:57:13.064234 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_glance_prep.yml 2025-11-25 08:57:13.064256 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat.yml 2025-11-25 08:57:13.064278 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat_cleanup.yml 2025-11-25 08:57:13.064300 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat_deploy.yml 2025-11-25 08:57:13.064322 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat_deploy_cleanup.yml 2025-11-25 08:57:13.064345 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat_deploy_prep.yml 2025-11-25 08:57:13.064368 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat_kuttl.yml 2025-11-25 08:57:13.064391 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat_kuttl_crc.yml 2025-11-25 08:57:13.064413 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat_kuttl_run.yml 2025-11-25 08:57:13.064437 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat_prep.yml 2025-11-25 08:57:13.064460 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_help.yml 2025-11-25 08:57:13.064482 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_horizon.yml 2025-11-25 08:57:13.064505 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_horizon_cleanup.yml 2025-11-25 08:57:13.064528 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_horizon_deploy.yml 2025-11-25 08:57:13.064551 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_horizon_deploy_cleanup.yml 2025-11-25 08:57:13.064573 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_horizon_deploy_prep.yml 2025-11-25 08:57:13.064596 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_horizon_kuttl.yml 2025-11-25 08:57:13.064620 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_horizon_kuttl_run.yml 2025-11-25 08:57:13.064651 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_horizon_prep.yml 2025-11-25 08:57:13.064710 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_infra.yml 2025-11-25 08:57:13.064745 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_infra_cleanup.yml 2025-11-25 08:57:13.064770 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_infra_kuttl.yml 2025-11-25 08:57:13.064794 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_infra_kuttl_run.yml 2025-11-25 08:57:13.064820 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_infra_prep.yml 2025-11-25 08:57:13.064854 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_input.yml 2025-11-25 08:57:13.064888 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_input_cleanup.yml 2025-11-25 08:57:13.064921 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ipv6_lab.yml 2025-11-25 08:57:13.064946 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ipv6_lab_cleanup.yml 2025-11-25 08:57:13.064970 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ipv6_lab_nat64_router.yml 2025-11-25 08:57:13.064994 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ipv6_lab_nat64_router_cleanup.yml 2025-11-25 08:57:13.065017 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ipv6_lab_network.yml 2025-11-25 08:57:13.065040 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ipv6_lab_network_cleanup.yml 2025-11-25 08:57:13.065063 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ipv6_lab_sno.yml 2025-11-25 08:57:13.065087 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ipv6_lab_sno_cleanup.yml 2025-11-25 08:57:13.065111 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic.yml 2025-11-25 08:57:13.065134 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic_cleanup.yml 2025-11-25 08:57:13.065157 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic_deploy.yml 2025-11-25 08:57:13.065181 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic_deploy_cleanup.yml 2025-11-25 08:57:13.065205 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic_deploy_prep.yml 2025-11-25 08:57:13.065228 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic_kuttl.yml 2025-11-25 08:57:13.065252 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic_kuttl_crc.yml 2025-11-25 08:57:13.065275 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic_kuttl_run.yml 2025-11-25 08:57:13.065299 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic_prep.yml 2025-11-25 08:57:13.065322 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone.yml 2025-11-25 08:57:13.065345 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone_cleanup.yml 2025-11-25 08:57:13.065368 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone_deploy.yml 2025-11-25 08:57:13.065391 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone_deploy_cleanup.yml 2025-11-25 08:57:13.065413 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone_deploy_prep.yml 2025-11-25 08:57:13.065435 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone_kuttl.yml 2025-11-25 08:57:13.065458 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone_kuttl_run.yml 2025-11-25 08:57:13.065480 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone_prep.yml 2025-11-25 08:57:13.065503 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_kuttl_common_cleanup.yml 2025-11-25 08:57:13.065525 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_kuttl_common_prep.yml 2025-11-25 08:57:13.065547 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_kuttl_db_cleanup.yml 2025-11-25 08:57:13.065569 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_kuttl_db_prep.yml 2025-11-25 08:57:13.065591 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_loki.yml 2025-11-25 08:57:13.065619 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_loki_cleanup.yml 2025-11-25 08:57:13.065642 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_loki_deploy.yml 2025-11-25 08:57:13.065664 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_loki_deploy_cleanup.yml 2025-11-25 08:57:13.065715 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_lvms.yml 2025-11-25 08:57:13.065740 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_manila.yml 2025-11-25 08:57:13.065763 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_manila_cleanup.yml 2025-11-25 08:57:13.065786 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_manila_deploy.yml 2025-11-25 08:57:13.065809 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_manila_deploy_cleanup.yml 2025-11-25 08:57:13.065832 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_manila_deploy_prep.yml 2025-11-25 08:57:13.065854 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_manila_kuttl.yml 2025-11-25 08:57:13.065877 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_manila_kuttl_run.yml 2025-11-25 08:57:13.065899 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_manila_prep.yml 2025-11-25 08:57:13.065922 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb.yml 2025-11-25 08:57:13.065944 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb_chainsaw.yml 2025-11-25 08:57:13.065966 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb_chainsaw_run.yml 2025-11-25 08:57:13.065988 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb_cleanup.yml 2025-11-25 08:57:13.066010 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb_deploy.yml 2025-11-25 08:57:13.066032 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb_deploy_cleanup.yml 2025-11-25 08:57:13.066054 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb_deploy_prep.yml 2025-11-25 08:57:13.066077 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb_kuttl.yml 2025-11-25 08:57:13.066101 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb_kuttl_run.yml 2025-11-25 08:57:13.066123 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_memcached_deploy.yml 2025-11-25 08:57:13.066146 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_memcached_deploy_cleanup.yml 2025-11-25 08:57:13.066169 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_memcached_deploy_prep.yml 2025-11-25 08:57:13.066193 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_metallb.yml 2025-11-25 08:57:13.066215 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_metallb_cleanup.yml 2025-11-25 08:57:13.066237 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_metallb_config.yml 2025-11-25 08:57:13.066260 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_metallb_config_cleanup.yml 2025-11-25 08:57:13.066283 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_namespace.yml 2025-11-25 08:57:13.066311 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_namespace_cleanup.yml 2025-11-25 08:57:13.066335 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netattach.yml 2025-11-25 08:57:13.066359 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netattach_cleanup.yml 2025-11-25 08:57:13.066382 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netconfig_deploy.yml 2025-11-25 08:57:13.066405 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netconfig_deploy_cleanup.yml 2025-11-25 08:57:13.066428 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netconfig_deploy_prep.yml 2025-11-25 08:57:13.066452 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netobserv.yml 2025-11-25 08:57:13.066476 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netobserv_cleanup.yml 2025-11-25 08:57:13.066499 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netobserv_deploy.yml 2025-11-25 08:57:13.066522 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netobserv_deploy_cleanup.yml 2025-11-25 08:57:13.066545 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_network_isolation_bridge.yml 2025-11-25 08:57:13.066568 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_network_isolation_bridge_cleanup.yml 2025-11-25 08:57:13.066612 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_neutron.yml 2025-11-25 08:57:13.066635 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_neutron_cleanup.yml 2025-11-25 08:57:13.066657 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_neutron_deploy.yml 2025-11-25 08:57:13.066699 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_neutron_deploy_cleanup.yml 2025-11-25 08:57:13.066730 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_neutron_deploy_prep.yml 2025-11-25 08:57:13.066754 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_neutron_kuttl.yml 2025-11-25 08:57:13.066777 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_neutron_kuttl_run.yml 2025-11-25 08:57:13.066800 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_neutron_prep.yml 2025-11-25 08:57:13.066823 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nfs.yml 2025-11-25 08:57:13.066846 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nfs_cleanup.yml 2025-11-25 08:57:13.066870 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nmstate.yml 2025-11-25 08:57:13.066893 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nncp.yml 2025-11-25 08:57:13.066916 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nncp_cleanup.yml 2025-11-25 08:57:13.066940 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nova.yml 2025-11-25 08:57:13.066963 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nova_cleanup.yml 2025-11-25 08:57:13.066989 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nova_deploy.yml 2025-11-25 08:57:13.067013 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nova_deploy_cleanup.yml 2025-11-25 08:57:13.067036 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nova_deploy_prep.yml 2025-11-25 08:57:13.067066 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nova_prep.yml 2025-11-25 08:57:13.067090 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_octavia.yml 2025-11-25 08:57:13.067113 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_octavia_cleanup.yml 2025-11-25 08:57:13.067136 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_octavia_deploy.yml 2025-11-25 08:57:13.067158 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_octavia_deploy_cleanup.yml 2025-11-25 08:57:13.067181 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_octavia_deploy_prep.yml 2025-11-25 08:57:13.067204 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_octavia_kuttl.yml 2025-11-25 08:57:13.067227 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_octavia_kuttl_run.yml 2025-11-25 08:57:13.067249 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_octavia_prep.yml 2025-11-25 08:57:13.067272 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack.yml 2025-11-25 08:57:13.067294 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_cleanup.yml 2025-11-25 08:57:13.067317 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_crds.yml 2025-11-25 08:57:13.067340 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_crds_cleanup.yml 2025-11-25 08:57:13.067363 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_deploy.yml 2025-11-25 08:57:13.067387 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_deploy_cleanup.yml 2025-11-25 08:57:13.067420 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_deploy_prep.yml 2025-11-25 08:57:13.067455 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_init.yml 2025-11-25 08:57:13.067486 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_kuttl.yml 2025-11-25 08:57:13.067510 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_kuttl_run.yml 2025-11-25 08:57:13.067534 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_patch_version.yml 2025-11-25 08:57:13.067557 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_prep.yml 2025-11-25 08:57:13.067580 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_repo.yml 2025-11-25 08:57:13.067602 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_update_run.yml 2025-11-25 08:57:13.067625 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_wait.yml 2025-11-25 08:57:13.067647 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_wait_deploy.yml 2025-11-25 08:57:13.067670 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_operator_namespace.yml 2025-11-25 08:57:13.067721 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ovn.yml 2025-11-25 08:57:13.067751 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ovn_cleanup.yml 2025-11-25 08:57:13.067783 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ovn_deploy.yml 2025-11-25 08:57:13.067819 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ovn_deploy_cleanup.yml 2025-11-25 08:57:13.067844 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ovn_deploy_prep.yml 2025-11-25 08:57:13.067875 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ovn_kuttl.yml 2025-11-25 08:57:13.067908 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ovn_kuttl_run.yml 2025-11-25 08:57:13.067937 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ovn_prep.yml 2025-11-25 08:57:13.067968 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_placement.yml 2025-11-25 08:57:13.067997 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_placement_cleanup.yml 2025-11-25 08:57:13.068027 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_placement_deploy.yml 2025-11-25 08:57:13.068056 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_placement_deploy_cleanup.yml 2025-11-25 08:57:13.068085 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_placement_deploy_prep.yml 2025-11-25 08:57:13.068114 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_placement_kuttl.yml 2025-11-25 08:57:13.068145 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_placement_kuttl_run.yml 2025-11-25 08:57:13.068175 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_placement_prep.yml 2025-11-25 08:57:13.068204 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rabbitmq.yml 2025-11-25 08:57:13.068233 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rabbitmq_cleanup.yml 2025-11-25 08:57:13.068262 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rabbitmq_deploy.yml 2025-11-25 08:57:13.068292 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rabbitmq_deploy_cleanup.yml 2025-11-25 08:57:13.068321 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rabbitmq_deploy_prep.yml 2025-11-25 08:57:13.068350 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rabbitmq_prep.yml 2025-11-25 08:57:13.068377 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_redis_deploy.yml 2025-11-25 08:57:13.068405 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_redis_deploy_cleanup.yml 2025-11-25 08:57:13.068432 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_redis_deploy_prep.yml 2025-11-25 08:57:13.068460 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rook.yml 2025-11-25 08:57:13.068487 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rook_cleanup.yml 2025-11-25 08:57:13.068515 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rook_crc_disk.yml 2025-11-25 08:57:13.068542 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rook_deploy.yml 2025-11-25 08:57:13.068570 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rook_deploy_prep.yml 2025-11-25 08:57:13.068599 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rook_prep.yml 2025-11-25 08:57:13.068626 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_set_slower_etcd_profile.yml 2025-11-25 08:57:13.068653 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_standalone.yml 2025-11-25 08:57:13.068729 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_standalone_cleanup.yml 2025-11-25 08:57:13.068771 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_standalone_deploy.yml 2025-11-25 08:57:13.068804 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_standalone_revert.yml 2025-11-25 08:57:13.068834 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_standalone_snapshot.yml 2025-11-25 08:57:13.068863 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_standalone_sync.yml 2025-11-25 08:57:13.068891 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_swift.yml 2025-11-25 08:57:13.068919 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_swift_cleanup.yml 2025-11-25 08:57:13.068947 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_swift_deploy.yml 2025-11-25 08:57:13.068976 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_swift_deploy_cleanup.yml 2025-11-25 08:57:13.069003 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_swift_deploy_prep.yml 2025-11-25 08:57:13.069027 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_swift_kuttl.yml 2025-11-25 08:57:13.069050 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_swift_kuttl_run.yml 2025-11-25 08:57:13.069075 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_swift_prep.yml 2025-11-25 08:57:13.069098 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_telemetry.yml 2025-11-25 08:57:13.069121 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_telemetry_cleanup.yml 2025-11-25 08:57:13.069143 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_telemetry_deploy.yml 2025-11-25 08:57:13.069166 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_telemetry_deploy_cleanup.yml 2025-11-25 08:57:13.069311 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_telemetry_deploy_prep.yml 2025-11-25 08:57:13.069348 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_telemetry_kuttl.yml 2025-11-25 08:57:13.069373 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_telemetry_kuttl_run.yml 2025-11-25 08:57:13.069397 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_telemetry_prep.yml 2025-11-25 08:57:13.069420 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_tripleo_deploy.yml 2025-11-25 08:57:13.069444 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_update_services.yml 2025-11-25 08:57:13.069467 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_update_system.yml 2025-11-25 08:57:13.069491 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_validate_marketplace.yml 2025-11-25 08:57:13.069514 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_wait.yml 2025-11-25 08:57:13.069537 | controller | cd+++++++++ ci-framework-data/artifacts/yum_repos/ 2025-11-25 08:57:13.069561 | controller | >f+++++++++ ci-framework-data/artifacts/yum_repos/delorean-antelope-testing.repo 2025-11-25 08:57:13.069588 | controller | >f+++++++++ ci-framework-data/artifacts/yum_repos/delorean.repo 2025-11-25 08:57:13.069613 | controller | >f+++++++++ ci-framework-data/artifacts/yum_repos/delorean.repo.md5 2025-11-25 08:57:13.069649 | controller | >f+++++++++ ci-framework-data/artifacts/yum_repos/repo-setup-centos-appstream.repo 2025-11-25 08:57:13.069707 | controller | >f+++++++++ ci-framework-data/artifacts/yum_repos/repo-setup-centos-baseos.repo 2025-11-25 08:57:13.069741 | controller | >f+++++++++ ci-framework-data/artifacts/yum_repos/repo-setup-centos-highavailability.repo 2025-11-25 08:57:13.069766 | controller | >f+++++++++ ci-framework-data/artifacts/yum_repos/repo-setup-centos-powertools.repo 2025-11-25 08:57:13.069790 | controller | cd+++++++++ ci-framework-data/logs/ 2025-11-25 08:57:13.069813 | controller | >f+++++++++ ci-framework-data/logs/ansible.log 2025-11-25 08:57:13.069842 | controller | >f+++++++++ ci-framework-data/logs/ci_script_000_copy_logs_from_crc.log 2025-11-25 08:57:13.069874 | controller | >f+++++++++ ci-framework-data/logs/ci_script_000_prepare_root_ssh.log 2025-11-25 08:57:13.069904 | controller | >f+++++++++ ci-framework-data/logs/ci_script_000_run_download.log 2025-11-25 08:57:13.069936 | controller | >f+++++++++ ci-framework-data/logs/ci_script_000_run_openstack_must_gather.log 2025-11-25 08:57:13.069965 | controller | >f+++++++++ ci-framework-data/logs/ci_script_001_fetch_openshift.log 2025-11-25 08:57:13.069998 | controller | >f+++++++++ ci-framework-data/logs/ci_script_002_run_crc_attach_default.log 2025-11-25 08:57:13.070029 | controller | >f+++++++++ ci-framework-data/logs/ci_script_003_run_keystone.log 2025-11-25 08:57:13.070060 | controller | cd+++++++++ ci-framework-data/logs/2025-11-25_08-56/ 2025-11-25 08:57:13.070091 | controller | >f+++++++++ ci-framework-data/logs/2025-11-25_08-56/ansible.log 2025-11-25 08:57:13.070119 | controller | cd+++++++++ ci-framework-data/logs/crc/ 2025-11-25 08:57:13.070150 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/ 2025-11-25 08:57:13.070181 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/ 2025-11-25 08:57:13.070212 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-r96c4_7314b9cd-0bcf-427f-9be1-b2fbc9d96168/ 2025-11-25 08:57:13.070245 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-r96c4_7314b9cd-0bcf-427f-9be1-b2fbc9d96168/csi-provisioner/ 2025-11-25 08:57:13.070276 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-r96c4_7314b9cd-0bcf-427f-9be1-b2fbc9d96168/csi-provisioner/0.log 2025-11-25 08:57:13.070301 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-r96c4_7314b9cd-0bcf-427f-9be1-b2fbc9d96168/hostpath-provisioner/ 2025-11-25 08:57:13.070325 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-r96c4_7314b9cd-0bcf-427f-9be1-b2fbc9d96168/hostpath-provisioner/0.log 2025-11-25 08:57:13.070348 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-r96c4_7314b9cd-0bcf-427f-9be1-b2fbc9d96168/liveness-probe/ 2025-11-25 08:57:13.070372 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-r96c4_7314b9cd-0bcf-427f-9be1-b2fbc9d96168/liveness-probe/0.log 2025-11-25 08:57:13.070396 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-r96c4_7314b9cd-0bcf-427f-9be1-b2fbc9d96168/node-driver-registrar/ 2025-11-25 08:57:13.070420 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-r96c4_7314b9cd-0bcf-427f-9be1-b2fbc9d96168/node-driver-registrar/0.log 2025-11-25 08:57:13.070443 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_keystone-656b9448cf-2k9wp_163642b8-67bb-4f70-aa43-41b8a330c695/ 2025-11-25 08:57:13.070468 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_keystone-656b9448cf-2k9wp_163642b8-67bb-4f70-aa43-41b8a330c695/keystone-api/ 2025-11-25 08:57:13.070497 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_keystone-656b9448cf-2k9wp_163642b8-67bb-4f70-aa43-41b8a330c695/keystone-api/0.log 2025-11-25 08:57:13.070523 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_keystone-bootstrap-mwmb4_eda16ddf-0620-4fe9-a850-084c5d9d6614/ 2025-11-25 08:57:13.070547 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_keystone-bootstrap-mwmb4_eda16ddf-0620-4fe9-a850-084c5d9d6614/keystone-bootstrap/ 2025-11-25 08:57:13.070590 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_keystone-bootstrap-mwmb4_eda16ddf-0620-4fe9-a850-084c5d9d6614/keystone-bootstrap/0.log 2025-11-25 08:57:13.070621 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_keystone-db-create-8gh2n_cb81180c-e53a-4deb-870e-875609284965/ 2025-11-25 08:57:13.070646 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_keystone-db-create-8gh2n_cb81180c-e53a-4deb-870e-875609284965/mariadb-database-create/ 2025-11-25 08:57:13.070670 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_keystone-db-create-8gh2n_cb81180c-e53a-4deb-870e-875609284965/mariadb-database-create/0.log 2025-11-25 08:57:13.070766 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_keystone-db-sync-n7xzx_28536d7d-7c97-47aa-8eca-1d01624cfd7f/ 2025-11-25 08:57:13.070794 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_keystone-db-sync-n7xzx_28536d7d-7c97-47aa-8eca-1d01624cfd7f/keystone-db-sync/ 2025-11-25 08:57:13.070819 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_keystone-db-sync-n7xzx_28536d7d-7c97-47aa-8eca-1d01624cfd7f/keystone-db-sync/0.log 2025-11-25 08:57:13.070843 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_keystone-e8df-account-create-update-w2ctb_a93192d4-39ba-4ae6-962c-e7b299dffa64/ 2025-11-25 08:57:13.070867 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_keystone-e8df-account-create-update-w2ctb_a93192d4-39ba-4ae6-962c-e7b299dffa64/mariadb-account-create-update/ 2025-11-25 08:57:13.070892 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_keystone-e8df-account-create-update-w2ctb_a93192d4-39ba-4ae6-962c-e7b299dffa64/mariadb-account-create-update/0.log 2025-11-25 08:57:13.070916 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_memcached-0_d19616c2-8d10-46ca-99f3-4c69d21c5042/ 2025-11-25 08:57:13.070940 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_memcached-0_d19616c2-8d10-46ca-99f3-4c69d21c5042/memcached/ 2025-11-25 08:57:13.070964 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_memcached-0_d19616c2-8d10-46ca-99f3-4c69d21c5042/memcached/0.log 2025-11-25 08:57:13.070988 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-0_2f0d5ee3-5e8a-4f4b-851d-369e1ee57fbb/ 2025-11-25 08:57:13.071012 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-0_2f0d5ee3-5e8a-4f4b-851d-369e1ee57fbb/galera/ 2025-11-25 08:57:13.071036 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-0_2f0d5ee3-5e8a-4f4b-851d-369e1ee57fbb/galera/0.log 2025-11-25 08:57:13.071059 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-0_2f0d5ee3-5e8a-4f4b-851d-369e1ee57fbb/mysql-bootstrap/ 2025-11-25 08:57:13.071089 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-0_2f0d5ee3-5e8a-4f4b-851d-369e1ee57fbb/mysql-bootstrap/0.log 2025-11-25 08:57:13.071113 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-1_b570b2ad-b04d-4acf-95a9-4646fbb2f12a/ 2025-11-25 08:57:13.071136 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-1_b570b2ad-b04d-4acf-95a9-4646fbb2f12a/galera/ 2025-11-25 08:57:13.071159 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-1_b570b2ad-b04d-4acf-95a9-4646fbb2f12a/galera/0.log 2025-11-25 08:57:13.071182 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-1_b570b2ad-b04d-4acf-95a9-4646fbb2f12a/mysql-bootstrap/ 2025-11-25 08:57:13.071205 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-1_b570b2ad-b04d-4acf-95a9-4646fbb2f12a/mysql-bootstrap/0.log 2025-11-25 08:57:13.071229 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-2_f9307363-5521-416a-a880-3e915543c091/ 2025-11-25 08:57:13.071252 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-2_f9307363-5521-416a-a880-3e915543c091/galera/ 2025-11-25 08:57:13.071275 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-2_f9307363-5521-416a-a880-3e915543c091/galera/0.log 2025-11-25 08:57:13.071299 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-2_f9307363-5521-416a-a880-3e915543c091/mysql-bootstrap/ 2025-11-25 08:57:13.071323 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-2_f9307363-5521-416a-a880-3e915543c091/mysql-bootstrap/0.log 2025-11-25 08:57:13.071346 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstackclient_2145e8a2-eca0-45d5-b22c-a05c1519f1b2/ 2025-11-25 08:57:13.071369 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstackclient_2145e8a2-eca0-45d5-b22c-a05c1519f1b2/openstackclient/ 2025-11-25 08:57:13.071393 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstackclient_2145e8a2-eca0-45d5-b22c-a05c1519f1b2/openstackclient/0.log 2025-11-25 08:57:13.071416 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_rabbitmq-server-0_1b41a7df-4bf3-4696-8059-bc514fcb555e/ 2025-11-25 08:57:13.071439 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_rabbitmq-server-0_1b41a7df-4bf3-4696-8059-bc514fcb555e/rabbitmq/ 2025-11-25 08:57:13.071462 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_rabbitmq-server-0_1b41a7df-4bf3-4696-8059-bc514fcb555e/rabbitmq/0.log 2025-11-25 08:57:13.071485 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_rabbitmq-server-0_1b41a7df-4bf3-4696-8059-bc514fcb555e/setup-container/ 2025-11-25 08:57:13.071507 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_rabbitmq-server-0_1b41a7df-4bf3-4696-8059-bc514fcb555e/setup-container/0.log 2025-11-25 08:57:13.071529 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_controller-6c7b4b5f48-6mtwq_6887e06d-33a4-48d9-ae99-1fafaeddcfd0/ 2025-11-25 08:57:13.071551 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_controller-6c7b4b5f48-6mtwq_6887e06d-33a4-48d9-ae99-1fafaeddcfd0/controller/ 2025-11-25 08:57:13.071579 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_controller-6c7b4b5f48-6mtwq_6887e06d-33a4-48d9-ae99-1fafaeddcfd0/controller/0.log 2025-11-25 08:57:13.071602 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_controller-6c7b4b5f48-6mtwq_6887e06d-33a4-48d9-ae99-1fafaeddcfd0/kube-rbac-proxy/ 2025-11-25 08:57:13.071625 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_controller-6c7b4b5f48-6mtwq_6887e06d-33a4-48d9-ae99-1fafaeddcfd0/kube-rbac-proxy/0.log 2025-11-25 08:57:13.071648 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-crbpw_1e96bded-fd9a-4efc-a780-7bc7f36963e9/ 2025-11-25 08:57:13.071670 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-crbpw_1e96bded-fd9a-4efc-a780-7bc7f36963e9/1368347f1261021e7ec98a41e251ea9359c13ceb48f1d2ded22a83a51b0f21af.log 2025-11-25 08:57:13.071722 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-crbpw_1e96bded-fd9a-4efc-a780-7bc7f36963e9/controller/ 2025-11-25 08:57:13.071747 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-crbpw_1e96bded-fd9a-4efc-a780-7bc7f36963e9/controller/0.log 2025-11-25 08:57:13.071770 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-crbpw_1e96bded-fd9a-4efc-a780-7bc7f36963e9/cp-frr-files/ 2025-11-25 08:57:13.071795 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-crbpw_1e96bded-fd9a-4efc-a780-7bc7f36963e9/cp-frr-files/0.log 2025-11-25 08:57:13.071818 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-crbpw_1e96bded-fd9a-4efc-a780-7bc7f36963e9/cp-metrics/ 2025-11-25 08:57:13.071842 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-crbpw_1e96bded-fd9a-4efc-a780-7bc7f36963e9/cp-metrics/0.log 2025-11-25 08:57:13.071866 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-crbpw_1e96bded-fd9a-4efc-a780-7bc7f36963e9/cp-reloader/ 2025-11-25 08:57:13.071890 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-crbpw_1e96bded-fd9a-4efc-a780-7bc7f36963e9/cp-reloader/0.log 2025-11-25 08:57:13.071913 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-crbpw_1e96bded-fd9a-4efc-a780-7bc7f36963e9/frr-metrics/ 2025-11-25 08:57:13.071937 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-crbpw_1e96bded-fd9a-4efc-a780-7bc7f36963e9/frr-metrics/0.log 2025-11-25 08:57:13.071961 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-crbpw_1e96bded-fd9a-4efc-a780-7bc7f36963e9/frr/ 2025-11-25 08:57:13.071984 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-crbpw_1e96bded-fd9a-4efc-a780-7bc7f36963e9/frr/0.log 2025-11-25 08:57:13.072008 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-crbpw_1e96bded-fd9a-4efc-a780-7bc7f36963e9/kube-rbac-proxy-frr/ 2025-11-25 08:57:13.072032 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-crbpw_1e96bded-fd9a-4efc-a780-7bc7f36963e9/kube-rbac-proxy-frr/0.log 2025-11-25 08:57:13.072055 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-crbpw_1e96bded-fd9a-4efc-a780-7bc7f36963e9/kube-rbac-proxy/ 2025-11-25 08:57:13.072078 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-crbpw_1e96bded-fd9a-4efc-a780-7bc7f36963e9/kube-rbac-proxy/0.log 2025-11-25 08:57:13.072111 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-crbpw_1e96bded-fd9a-4efc-a780-7bc7f36963e9/reloader/ 2025-11-25 08:57:13.072136 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-crbpw_1e96bded-fd9a-4efc-a780-7bc7f36963e9/reloader/0.log 2025-11-25 08:57:13.072160 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-webhook-server-6998585d5-zwks5_5c1f4071-ea61-4b36-8d67-bc82ba70783f/ 2025-11-25 08:57:13.072184 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-webhook-server-6998585d5-zwks5_5c1f4071-ea61-4b36-8d67-bc82ba70783f/frr-k8s-webhook-server/ 2025-11-25 08:57:13.072208 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-webhook-server-6998585d5-zwks5_5c1f4071-ea61-4b36-8d67-bc82ba70783f/frr-k8s-webhook-server/0.log 2025-11-25 08:57:13.072232 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_metallb-operator-controller-manager-699596c7b8-klfq4_d6f6a50f-a955-469a-b07c-6eca09984459/ 2025-11-25 08:57:13.072255 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_metallb-operator-controller-manager-699596c7b8-klfq4_d6f6a50f-a955-469a-b07c-6eca09984459/manager/ 2025-11-25 08:57:13.072279 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_metallb-operator-controller-manager-699596c7b8-klfq4_d6f6a50f-a955-469a-b07c-6eca09984459/manager/2.log 2025-11-25 08:57:13.072302 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_metallb-operator-webhook-server-6f5466444-dd94g_831ad45f-3c30-474f-af70-03fc1e885a89/ 2025-11-25 08:57:13.072326 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_metallb-operator-webhook-server-6f5466444-dd94g_831ad45f-3c30-474f-af70-03fc1e885a89/webhook-server/ 2025-11-25 08:57:13.072351 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_metallb-operator-webhook-server-6f5466444-dd94g_831ad45f-3c30-474f-af70-03fc1e885a89/webhook-server/0.log 2025-11-25 08:57:13.072375 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_speaker-9hh4f_2b2c2935-6aa2-4f96-9790-806d98a9c87c/ 2025-11-25 08:57:13.072399 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_speaker-9hh4f_2b2c2935-6aa2-4f96-9790-806d98a9c87c/kube-rbac-proxy/ 2025-11-25 08:57:13.072423 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_speaker-9hh4f_2b2c2935-6aa2-4f96-9790-806d98a9c87c/kube-rbac-proxy/0.log 2025-11-25 08:57:13.072447 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_speaker-9hh4f_2b2c2935-6aa2-4f96-9790-806d98a9c87c/speaker/ 2025-11-25 08:57:13.072471 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_speaker-9hh4f_2b2c2935-6aa2-4f96-9790-806d98a9c87c/speaker/0.log.gz 2025-11-25 08:57:13.072495 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver-operator_openshift-apiserver-operator-796bbdcf4f-v4h8m_2f95266f-8875-4ff6-ab8a-f22823f272e3/ 2025-11-25 08:57:13.072519 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver-operator_openshift-apiserver-operator-796bbdcf4f-v4h8m_2f95266f-8875-4ff6-ab8a-f22823f272e3/openshift-apiserver-operator/ 2025-11-25 08:57:13.072543 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver-operator_openshift-apiserver-operator-796bbdcf4f-v4h8m_2f95266f-8875-4ff6-ab8a-f22823f272e3/openshift-apiserver-operator/0.log 2025-11-25 08:57:13.072567 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver_apiserver-76f77b778f-tdh58_e72e35df-61d8-41f2-87b4-f20374efe58c/ 2025-11-25 08:57:13.072596 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver_apiserver-76f77b778f-tdh58_e72e35df-61d8-41f2-87b4-f20374efe58c/fix-audit-permissions/ 2025-11-25 08:57:13.072621 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver_apiserver-76f77b778f-tdh58_e72e35df-61d8-41f2-87b4-f20374efe58c/fix-audit-permissions/0.log 2025-11-25 08:57:13.072644 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver_apiserver-76f77b778f-tdh58_e72e35df-61d8-41f2-87b4-f20374efe58c/openshift-apiserver-check-endpoints/ 2025-11-25 08:57:13.072668 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver_apiserver-76f77b778f-tdh58_e72e35df-61d8-41f2-87b4-f20374efe58c/openshift-apiserver-check-endpoints/0.log 2025-11-25 08:57:13.072718 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver_apiserver-76f77b778f-tdh58_e72e35df-61d8-41f2-87b4-f20374efe58c/openshift-apiserver/ 2025-11-25 08:57:13.072743 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver_apiserver-76f77b778f-tdh58_e72e35df-61d8-41f2-87b4-f20374efe58c/openshift-apiserver/0.log 2025-11-25 08:57:13.072766 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-authentication-operator_authentication-operator-69f744f599-sbjq5_c2ea89e6-79e5-46b0-928e-41fd0a73108d/ 2025-11-25 08:57:13.072789 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-authentication-operator_authentication-operator-69f744f599-sbjq5_c2ea89e6-79e5-46b0-928e-41fd0a73108d/authentication-operator/ 2025-11-25 08:57:13.072812 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-authentication-operator_authentication-operator-69f744f599-sbjq5_c2ea89e6-79e5-46b0-928e-41fd0a73108d/authentication-operator/0.log 2025-11-25 08:57:13.072835 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-authentication_oauth-openshift-6cb8f88875-4ffsh_4b707cce-2a67-4bae-a1e4-e3158c3b537d/ 2025-11-25 08:57:13.072858 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-authentication_oauth-openshift-6cb8f88875-4ffsh_4b707cce-2a67-4bae-a1e4-e3158c3b537d/oauth-openshift/ 2025-11-25 08:57:13.072880 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-authentication_oauth-openshift-6cb8f88875-4ffsh_4b707cce-2a67-4bae-a1e4-e3158c3b537d/oauth-openshift/0.log 2025-11-25 08:57:13.072903 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-machine-approver_machine-approver-56656f9798-6gbsh_7f47fda6-04bb-48e0-bf30-571d4e01e932/ 2025-11-25 08:57:13.072939 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-machine-approver_machine-approver-56656f9798-6gbsh_7f47fda6-04bb-48e0-bf30-571d4e01e932/kube-rbac-proxy/ 2025-11-25 08:57:13.072962 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-machine-approver_machine-approver-56656f9798-6gbsh_7f47fda6-04bb-48e0-bf30-571d4e01e932/kube-rbac-proxy/0.log 2025-11-25 08:57:13.072993 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-machine-approver_machine-approver-56656f9798-6gbsh_7f47fda6-04bb-48e0-bf30-571d4e01e932/machine-approver-controller/ 2025-11-25 08:57:13.073019 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-machine-approver_machine-approver-56656f9798-6gbsh_7f47fda6-04bb-48e0-bf30-571d4e01e932/machine-approver-controller/0.log 2025-11-25 08:57:13.073045 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-samples-operator_cluster-samples-operator-665b6dd947-62hpb_bf4bf16d-c5d6-4aad-a94f-c0399a40ee87/ 2025-11-25 08:57:13.073076 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-samples-operator_cluster-samples-operator-665b6dd947-62hpb_bf4bf16d-c5d6-4aad-a94f-c0399a40ee87/3165648ff7547bc0e0cc67e2fca7caebc481a8a4bd50d18e94725a65d5b13b28.log 2025-11-25 08:57:13.073109 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-samples-operator_cluster-samples-operator-665b6dd947-62hpb_bf4bf16d-c5d6-4aad-a94f-c0399a40ee87/cluster-samples-operator-watch/ 2025-11-25 08:57:13.073137 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-samples-operator_cluster-samples-operator-665b6dd947-62hpb_bf4bf16d-c5d6-4aad-a94f-c0399a40ee87/cluster-samples-operator-watch/0.log 2025-11-25 08:57:13.073163 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-samples-operator_cluster-samples-operator-665b6dd947-62hpb_bf4bf16d-c5d6-4aad-a94f-c0399a40ee87/cluster-samples-operator/ 2025-11-25 08:57:13.073190 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-samples-operator_cluster-samples-operator-665b6dd947-62hpb_bf4bf16d-c5d6-4aad-a94f-c0399a40ee87/cluster-samples-operator/0.log 2025-11-25 08:57:13.073216 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-version_cluster-version-operator-5c965bbfc6-rt2j8_11c3532e-49a2-4ace-8e8f-f885936097fa/ 2025-11-25 08:57:13.073247 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-version_cluster-version-operator-5c965bbfc6-rt2j8_11c3532e-49a2-4ace-8e8f-f885936097fa/cluster-version-operator/ 2025-11-25 08:57:13.073273 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-version_cluster-version-operator-5c965bbfc6-rt2j8_11c3532e-49a2-4ace-8e8f-f885936097fa/cluster-version-operator/0.log.gz 2025-11-25 08:57:13.073299 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-config-operator_openshift-config-operator-7777fb866f-h4twb_a894200a-fe7a-4078-a683-b0680cb26631/ 2025-11-25 08:57:13.073325 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-config-operator_openshift-config-operator-7777fb866f-h4twb_a894200a-fe7a-4078-a683-b0680cb26631/openshift-api/ 2025-11-25 08:57:13.073351 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-config-operator_openshift-config-operator-7777fb866f-h4twb_a894200a-fe7a-4078-a683-b0680cb26631/openshift-api/0.log 2025-11-25 08:57:13.073376 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-config-operator_openshift-config-operator-7777fb866f-h4twb_a894200a-fe7a-4078-a683-b0680cb26631/openshift-config-operator/ 2025-11-25 08:57:13.073402 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-config-operator_openshift-config-operator-7777fb866f-h4twb_a894200a-fe7a-4078-a683-b0680cb26631/openshift-config-operator/0.log 2025-11-25 08:57:13.073428 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console-operator_console-operator-58897d9998-hgrjf_d1fae3df-d981-4e9e-8db8-caef36bb6539/ 2025-11-25 08:57:13.073453 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console-operator_console-operator-58897d9998-hgrjf_d1fae3df-d981-4e9e-8db8-caef36bb6539/console-operator/ 2025-11-25 08:57:13.073479 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console-operator_console-operator-58897d9998-hgrjf_d1fae3df-d981-4e9e-8db8-caef36bb6539/console-operator/0.log 2025-11-25 08:57:13.073506 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console_console-f9d7485db-drxvl_c8b2e00a-5f8a-47c3-893c-ef893cec022f/ 2025-11-25 08:57:13.073537 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console_console-f9d7485db-drxvl_c8b2e00a-5f8a-47c3-893c-ef893cec022f/console/ 2025-11-25 08:57:13.073576 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console_console-f9d7485db-drxvl_c8b2e00a-5f8a-47c3-893c-ef893cec022f/console/0.log 2025-11-25 08:57:13.073615 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console_downloads-7954f5f757-pkzqv_79d0d588-71f7-48d3-9798-2b998b68930e/ 2025-11-25 08:57:13.073846 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console_downloads-7954f5f757-pkzqv_79d0d588-71f7-48d3-9798-2b998b68930e/download-server/ 2025-11-25 08:57:13.073891 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console_downloads-7954f5f757-pkzqv_79d0d588-71f7-48d3-9798-2b998b68930e/download-server/0.log 2025-11-25 08:57:13.073918 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console_downloads-7954f5f757-pkzqv_79d0d588-71f7-48d3-9798-2b998b68930e/download-server/1.log 2025-11-25 08:57:13.073942 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-controller-manager-operator_openshift-controller-manager-operator-756b6f6bc6-dxmzh_a0f2a9e0-25c5-43de-a916-a8172dd8702a/ 2025-11-25 08:57:13.073966 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-controller-manager-operator_openshift-controller-manager-operator-756b6f6bc6-dxmzh_a0f2a9e0-25c5-43de-a916-a8172dd8702a/openshift-controller-manager-operator/ 2025-11-25 08:57:13.073990 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-controller-manager-operator_openshift-controller-manager-operator-756b6f6bc6-dxmzh_a0f2a9e0-25c5-43de-a916-a8172dd8702a/openshift-controller-manager-operator/0.log 2025-11-25 08:57:13.074014 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-controller-manager_controller-manager-696ccdc986-tht4k_2c988bb1-c55b-42f7-a4ae-23bc6fcf7ac7/ 2025-11-25 08:57:13.074037 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-controller-manager_controller-manager-696ccdc986-tht4k_2c988bb1-c55b-42f7-a4ae-23bc6fcf7ac7/controller-manager/ 2025-11-25 08:57:13.074061 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-controller-manager_controller-manager-696ccdc986-tht4k_2c988bb1-c55b-42f7-a4ae-23bc6fcf7ac7/controller-manager/0.log 2025-11-25 08:57:13.074242 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns-operator_dns-operator-744455d44c-9xsbj_eaae531a-44e7-4c81-ab39-c1373126b2c2/ 2025-11-25 08:57:13.074265 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns-operator_dns-operator-744455d44c-9xsbj_eaae531a-44e7-4c81-ab39-c1373126b2c2/dns-operator/ 2025-11-25 08:57:13.074288 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns-operator_dns-operator-744455d44c-9xsbj_eaae531a-44e7-4c81-ab39-c1373126b2c2/dns-operator/0.log 2025-11-25 08:57:13.074312 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns-operator_dns-operator-744455d44c-9xsbj_eaae531a-44e7-4c81-ab39-c1373126b2c2/kube-rbac-proxy/ 2025-11-25 08:57:13.074336 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns-operator_dns-operator-744455d44c-9xsbj_eaae531a-44e7-4c81-ab39-c1373126b2c2/kube-rbac-proxy/0.log 2025-11-25 08:57:13.074360 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns_dns-default-ldtdz_f6b5f51e-d81a-4113-9d51-d9e200b34650/ 2025-11-25 08:57:13.074384 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns_dns-default-ldtdz_f6b5f51e-d81a-4113-9d51-d9e200b34650/dns/ 2025-11-25 08:57:13.074408 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns_dns-default-ldtdz_f6b5f51e-d81a-4113-9d51-d9e200b34650/dns/0.log 2025-11-25 08:57:13.074439 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns_dns-default-ldtdz_f6b5f51e-d81a-4113-9d51-d9e200b34650/kube-rbac-proxy/ 2025-11-25 08:57:13.074465 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns_dns-default-ldtdz_f6b5f51e-d81a-4113-9d51-d9e200b34650/kube-rbac-proxy/0.log 2025-11-25 08:57:13.074489 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns_node-resolver-qq84d_207244ec-1be1-4dfe-9825-0da321b4559c/ 2025-11-25 08:57:13.074513 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns_node-resolver-qq84d_207244ec-1be1-4dfe-9825-0da321b4559c/dns-node-resolver/ 2025-11-25 08:57:13.074538 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns_node-resolver-qq84d_207244ec-1be1-4dfe-9825-0da321b4559c/dns-node-resolver/0.log 2025-11-25 08:57:13.074562 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd-operator_etcd-operator-b45778765-xm5w7_94b35f6e-4070-4f33-b4e1-5bca8dc179bf/ 2025-11-25 08:57:13.074611 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd-operator_etcd-operator-b45778765-xm5w7_94b35f6e-4070-4f33-b4e1-5bca8dc179bf/etcd-operator/ 2025-11-25 08:57:13.074638 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd-operator_etcd-operator-b45778765-xm5w7_94b35f6e-4070-4f33-b4e1-5bca8dc179bf/etcd-operator/0.log 2025-11-25 08:57:13.074662 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/ 2025-11-25 08:57:13.074720 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-ensure-env-vars/ 2025-11-25 08:57:13.074747 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-ensure-env-vars/0.log 2025-11-25 08:57:13.074772 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-metrics/ 2025-11-25 08:57:13.074797 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-metrics/0.log 2025-11-25 08:57:13.074821 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-readyz/ 2025-11-25 08:57:13.074845 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-readyz/0.log 2025-11-25 08:57:13.074868 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-resources-copy/ 2025-11-25 08:57:13.074891 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-resources-copy/0.log 2025-11-25 08:57:13.074915 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-rev/ 2025-11-25 08:57:13.074939 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-rev/0.log 2025-11-25 08:57:13.074962 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd/ 2025-11-25 08:57:13.074985 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd/0.log 2025-11-25 08:57:13.075009 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcdctl/ 2025-11-25 08:57:13.075038 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcdctl/0.log 2025-11-25 08:57:13.075062 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/setup/ 2025-11-25 08:57:13.075084 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/setup/0.log 2025-11-25 08:57:13.075108 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_cluster-image-registry-operator-dc59b4c8b-bffcm_e84c3004-d790-4db1-a0f0-40ce73ec2f1b/ 2025-11-25 08:57:13.075132 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_cluster-image-registry-operator-dc59b4c8b-bffcm_e84c3004-d790-4db1-a0f0-40ce73ec2f1b/cluster-image-registry-operator/ 2025-11-25 08:57:13.075155 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_cluster-image-registry-operator-dc59b4c8b-bffcm_e84c3004-d790-4db1-a0f0-40ce73ec2f1b/cluster-image-registry-operator/0.log 2025-11-25 08:57:13.075179 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_image-registry-66df7c8f76-rq8jw_68fc361c-f421-4d4d-8108-394d3c566575/ 2025-11-25 08:57:13.075202 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_image-registry-66df7c8f76-rq8jw_68fc361c-f421-4d4d-8108-394d3c566575/registry/ 2025-11-25 08:57:13.075225 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_image-registry-66df7c8f76-rq8jw_68fc361c-f421-4d4d-8108-394d3c566575/registry/0.log 2025-11-25 08:57:13.075248 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_node-ca-rm8sf_f6fb2480-502c-4195-a74a-8208fe4751df/ 2025-11-25 08:57:13.075271 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_node-ca-rm8sf_f6fb2480-502c-4195-a74a-8208fe4751df/node-ca/ 2025-11-25 08:57:13.075294 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_node-ca-rm8sf_f6fb2480-502c-4195-a74a-8208fe4751df/node-ca/0.log 2025-11-25 08:57:13.075317 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress-canary_ingress-canary-m549n_98f6722d-bfef-406c-8a37-e1c6f0658e53/ 2025-11-25 08:57:13.075340 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress-canary_ingress-canary-m549n_98f6722d-bfef-406c-8a37-e1c6f0658e53/serve-healthcheck-canary/ 2025-11-25 08:57:13.075363 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress-canary_ingress-canary-m549n_98f6722d-bfef-406c-8a37-e1c6f0658e53/serve-healthcheck-canary/0.log 2025-11-25 08:57:13.075386 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress-operator_ingress-operator-5b745b69d9-hmbm6_7b3f12c6-b098-462d-abbb-bc51208c680f/ 2025-11-25 08:57:13.075409 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress-operator_ingress-operator-5b745b69d9-hmbm6_7b3f12c6-b098-462d-abbb-bc51208c680f/ingress-operator/ 2025-11-25 08:57:13.075432 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress-operator_ingress-operator-5b745b69d9-hmbm6_7b3f12c6-b098-462d-abbb-bc51208c680f/ingress-operator/0.log 2025-11-25 08:57:13.075456 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress-operator_ingress-operator-5b745b69d9-hmbm6_7b3f12c6-b098-462d-abbb-bc51208c680f/kube-rbac-proxy/ 2025-11-25 08:57:13.075479 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress-operator_ingress-operator-5b745b69d9-hmbm6_7b3f12c6-b098-462d-abbb-bc51208c680f/kube-rbac-proxy/0.log 2025-11-25 08:57:13.075508 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress_router-default-5444994796-8nvsz_1ef1bb9b-3cbc-4133-b172-46d831f20255/ 2025-11-25 08:57:13.075531 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress_router-default-5444994796-8nvsz_1ef1bb9b-3cbc-4133-b172-46d831f20255/router/ 2025-11-25 08:57:13.075554 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress_router-default-5444994796-8nvsz_1ef1bb9b-3cbc-4133-b172-46d831f20255/router/0.log 2025-11-25 08:57:13.075577 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver-operator_kube-apiserver-operator-766d6c64bb-2tlkh_31f67a53-3b0a-4d6e-b190-31855b470724/ 2025-11-25 08:57:13.075600 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver-operator_kube-apiserver-operator-766d6c64bb-2tlkh_31f67a53-3b0a-4d6e-b190-31855b470724/kube-apiserver-operator/ 2025-11-25 08:57:13.075623 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver-operator_kube-apiserver-operator-766d6c64bb-2tlkh_31f67a53-3b0a-4d6e-b190-31855b470724/kube-apiserver-operator/0.log 2025-11-25 08:57:13.075645 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_installer-9-crc_3f684980-446c-4d5d-a613-8130ce5b3180/ 2025-11-25 08:57:13.075668 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_installer-9-crc_3f684980-446c-4d5d-a613-8130ce5b3180/installer/ 2025-11-25 08:57:13.075718 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_installer-9-crc_3f684980-446c-4d5d-a613-8130ce5b3180/installer/0.log 2025-11-25 08:57:13.075743 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/ 2025-11-25 08:57:13.075766 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/kube-apiserver-cert-regeneration-controller/ 2025-11-25 08:57:13.075790 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/kube-apiserver-cert-regeneration-controller/0.log 2025-11-25 08:57:13.075813 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/kube-apiserver-cert-syncer/ 2025-11-25 08:57:13.075836 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/kube-apiserver-cert-syncer/0.log 2025-11-25 08:57:13.075859 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/kube-apiserver-check-endpoints/ 2025-11-25 08:57:13.075883 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/kube-apiserver-check-endpoints/0.log 2025-11-25 08:57:13.075906 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/kube-apiserver-insecure-readyz/ 2025-11-25 08:57:13.075928 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/kube-apiserver-insecure-readyz/0.log 2025-11-25 08:57:13.075952 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/kube-apiserver/ 2025-11-25 08:57:13.075974 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/kube-apiserver/0.log 2025-11-25 08:57:13.076003 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/setup/ 2025-11-25 08:57:13.076026 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/setup/0.log 2025-11-25 08:57:13.076050 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-startup-monitor-crc_f85e55b1a89d02b0cb034b1ea31ed45a/ 2025-11-25 08:57:13.076073 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-startup-monitor-crc_f85e55b1a89d02b0cb034b1ea31ed45a/startup-monitor/ 2025-11-25 08:57:13.076097 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-startup-monitor-crc_f85e55b1a89d02b0cb034b1ea31ed45a/startup-monitor/0.log 2025-11-25 08:57:13.076121 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_revision-pruner-8-crc_91e49782-382f-4c63-8c4d-ed55fd168230/ 2025-11-25 08:57:13.076145 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_revision-pruner-8-crc_91e49782-382f-4c63-8c4d-ed55fd168230/pruner/ 2025-11-25 08:57:13.076169 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_revision-pruner-8-crc_91e49782-382f-4c63-8c4d-ed55fd168230/pruner/0.log 2025-11-25 08:57:13.076192 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_revision-pruner-9-crc_b3103df4-88ce-4d16-b566-2245f75940cd/ 2025-11-25 08:57:13.076215 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_revision-pruner-9-crc_b3103df4-88ce-4d16-b566-2245f75940cd/pruner/ 2025-11-25 08:57:13.076238 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_revision-pruner-9-crc_b3103df4-88ce-4d16-b566-2245f75940cd/pruner/0.log 2025-11-25 08:57:13.076262 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager-operator_kube-controller-manager-operator-78b949d7b-2w6fr_b34b6ce9-b745-4ccc-822e-40cdf83a8e86/ 2025-11-25 08:57:13.076285 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager-operator_kube-controller-manager-operator-78b949d7b-2w6fr_b34b6ce9-b745-4ccc-822e-40cdf83a8e86/kube-controller-manager-operator/ 2025-11-25 08:57:13.076309 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager-operator_kube-controller-manager-operator-78b949d7b-2w6fr_b34b6ce9-b745-4ccc-822e-40cdf83a8e86/kube-controller-manager-operator/0.log 2025-11-25 08:57:13.076333 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_kube-controller-manager-crc_f614b9022728cf315e60c057852e563e/ 2025-11-25 08:57:13.076356 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_kube-controller-manager-crc_f614b9022728cf315e60c057852e563e/cluster-policy-controller/ 2025-11-25 08:57:13.076379 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_kube-controller-manager-crc_f614b9022728cf315e60c057852e563e/cluster-policy-controller/0.log 2025-11-25 08:57:13.076402 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_kube-controller-manager-crc_f614b9022728cf315e60c057852e563e/kube-controller-manager-cert-syncer/ 2025-11-25 08:57:13.076426 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_kube-controller-manager-crc_f614b9022728cf315e60c057852e563e/kube-controller-manager-cert-syncer/0.log 2025-11-25 08:57:13.076501 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_kube-controller-manager-crc_f614b9022728cf315e60c057852e563e/kube-controller-manager-recovery-controller/ 2025-11-25 08:57:13.076529 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_kube-controller-manager-crc_f614b9022728cf315e60c057852e563e/kube-controller-manager-recovery-controller/0.log 2025-11-25 08:57:13.076553 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_kube-controller-manager-crc_f614b9022728cf315e60c057852e563e/kube-controller-manager/ 2025-11-25 08:57:13.076577 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_kube-controller-manager-crc_f614b9022728cf315e60c057852e563e/kube-controller-manager/0.log 2025-11-25 08:57:13.076600 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_kube-controller-manager-crc_f614b9022728cf315e60c057852e563e/kube-controller-manager/1.log 2025-11-25 08:57:13.076623 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_revision-pruner-9-crc_22b503dc-f7eb-4359-9d74-d89e59279f8d/ 2025-11-25 08:57:13.076646 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_revision-pruner-9-crc_22b503dc-f7eb-4359-9d74-d89e59279f8d/pruner/ 2025-11-25 08:57:13.076670 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_revision-pruner-9-crc_22b503dc-f7eb-4359-9d74-d89e59279f8d/pruner/0.log 2025-11-25 08:57:13.076718 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler-operator_openshift-kube-scheduler-operator-5fdd9b5758-xlhl6_dc92d606-9c37-4278-99d1-255e21e7e3ab/ 2025-11-25 08:57:13.076743 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler-operator_openshift-kube-scheduler-operator-5fdd9b5758-xlhl6_dc92d606-9c37-4278-99d1-255e21e7e3ab/kube-scheduler-operator-container/ 2025-11-25 08:57:13.076767 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler-operator_openshift-kube-scheduler-operator-5fdd9b5758-xlhl6_dc92d606-9c37-4278-99d1-255e21e7e3ab/kube-scheduler-operator-container/0.log 2025-11-25 08:57:13.076791 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler_openshift-kube-scheduler-crc_3dcd261975c3d6b9a6ad6367fd4facd3/ 2025-11-25 08:57:13.076815 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler_openshift-kube-scheduler-crc_3dcd261975c3d6b9a6ad6367fd4facd3/kube-scheduler-cert-syncer/ 2025-11-25 08:57:13.076839 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler_openshift-kube-scheduler-crc_3dcd261975c3d6b9a6ad6367fd4facd3/kube-scheduler-cert-syncer/0.log 2025-11-25 08:57:13.076862 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler_openshift-kube-scheduler-crc_3dcd261975c3d6b9a6ad6367fd4facd3/kube-scheduler-recovery-controller/ 2025-11-25 08:57:13.076885 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler_openshift-kube-scheduler-crc_3dcd261975c3d6b9a6ad6367fd4facd3/kube-scheduler-recovery-controller/0.log 2025-11-25 08:57:13.076908 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler_openshift-kube-scheduler-crc_3dcd261975c3d6b9a6ad6367fd4facd3/kube-scheduler/ 2025-11-25 08:57:13.076930 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler_openshift-kube-scheduler-crc_3dcd261975c3d6b9a6ad6367fd4facd3/kube-scheduler/0.log 2025-11-25 08:57:13.076958 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler_openshift-kube-scheduler-crc_3dcd261975c3d6b9a6ad6367fd4facd3/wait-for-host-port/ 2025-11-25 08:57:13.076981 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler_openshift-kube-scheduler-crc_3dcd261975c3d6b9a6ad6367fd4facd3/wait-for-host-port/0.log 2025-11-25 08:57:13.077003 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-storage-version-migrator-operator_kube-storage-version-migrator-operator-b67b599dd-ksdr6_79f630e4-efdd-44a2-a48b-75ea6b2d923e/ 2025-11-25 08:57:13.077025 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-storage-version-migrator-operator_kube-storage-version-migrator-operator-b67b599dd-ksdr6_79f630e4-efdd-44a2-a48b-75ea6b2d923e/kube-storage-version-migrator-operator/ 2025-11-25 08:57:13.077048 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-storage-version-migrator-operator_kube-storage-version-migrator-operator-b67b599dd-ksdr6_79f630e4-efdd-44a2-a48b-75ea6b2d923e/kube-storage-version-migrator-operator/0.log 2025-11-25 08:57:13.077071 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-storage-version-migrator_migrator-59844c95c7-kp7kv_f8c7e8a2-cdc3-483f-b7f9-5f2526d7111a/ 2025-11-25 08:57:13.077094 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-storage-version-migrator_migrator-59844c95c7-kp7kv_f8c7e8a2-cdc3-483f-b7f9-5f2526d7111a/graceful-termination/ 2025-11-25 08:57:13.077117 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-storage-version-migrator_migrator-59844c95c7-kp7kv_f8c7e8a2-cdc3-483f-b7f9-5f2526d7111a/graceful-termination/0.log 2025-11-25 08:57:13.077139 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-storage-version-migrator_migrator-59844c95c7-kp7kv_f8c7e8a2-cdc3-483f-b7f9-5f2526d7111a/migrator/ 2025-11-25 08:57:13.077161 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-storage-version-migrator_migrator-59844c95c7-kp7kv_f8c7e8a2-cdc3-483f-b7f9-5f2526d7111a/migrator/0.log 2025-11-25 08:57:13.077183 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-api_control-plane-machine-set-operator-78cbb6b69f-hsj9l_542a92af-451c-420e-980a-2478fd3c3602/ 2025-11-25 08:57:13.077204 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-api_control-plane-machine-set-operator-78cbb6b69f-hsj9l_542a92af-451c-420e-980a-2478fd3c3602/control-plane-machine-set-operator/ 2025-11-25 08:57:13.077227 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-api_control-plane-machine-set-operator-78cbb6b69f-hsj9l_542a92af-451c-420e-980a-2478fd3c3602/control-plane-machine-set-operator/0.log 2025-11-25 08:57:13.077249 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-api_machine-api-operator-5694c8668f-672bj_46bb2daf-c5ab-4500-af55-742716b55037/ 2025-11-25 08:57:13.077271 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-api_machine-api-operator-5694c8668f-672bj_46bb2daf-c5ab-4500-af55-742716b55037/kube-rbac-proxy/ 2025-11-25 08:57:13.077294 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-api_machine-api-operator-5694c8668f-672bj_46bb2daf-c5ab-4500-af55-742716b55037/kube-rbac-proxy/0.log 2025-11-25 08:57:13.077317 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-api_machine-api-operator-5694c8668f-672bj_46bb2daf-c5ab-4500-af55-742716b55037/machine-api-operator/ 2025-11-25 08:57:13.077344 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-api_machine-api-operator-5694c8668f-672bj_46bb2daf-c5ab-4500-af55-742716b55037/machine-api-operator/0.log 2025-11-25 08:57:13.077367 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_kube-rbac-proxy-crio-crc_d1b160f5dda77d281dd8e69ec8d817f9/ 2025-11-25 08:57:13.077390 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_kube-rbac-proxy-crio-crc_d1b160f5dda77d281dd8e69ec8d817f9/kube-rbac-proxy-crio/ 2025-11-25 08:57:13.077413 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_kube-rbac-proxy-crio-crc_d1b160f5dda77d281dd8e69ec8d817f9/kube-rbac-proxy-crio/0.log 2025-11-25 08:57:13.077436 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_kube-rbac-proxy-crio-crc_d1b160f5dda77d281dd8e69ec8d817f9/setup/ 2025-11-25 08:57:13.077460 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_kube-rbac-proxy-crio-crc_d1b160f5dda77d281dd8e69ec8d817f9/setup/0.log 2025-11-25 08:57:13.077483 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-controller-84d6567774-s69rl_a1259d4b-5a5d-4b97-8400-cac921071056/ 2025-11-25 08:57:13.077505 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-controller-84d6567774-s69rl_a1259d4b-5a5d-4b97-8400-cac921071056/kube-rbac-proxy/ 2025-11-25 08:57:13.077529 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-controller-84d6567774-s69rl_a1259d4b-5a5d-4b97-8400-cac921071056/kube-rbac-proxy/0.log 2025-11-25 08:57:13.077551 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-controller-84d6567774-s69rl_a1259d4b-5a5d-4b97-8400-cac921071056/machine-config-controller/ 2025-11-25 08:57:13.077574 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-controller-84d6567774-s69rl_a1259d4b-5a5d-4b97-8400-cac921071056/machine-config-controller/0.log 2025-11-25 08:57:13.077596 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-daemon-9svqq_0c66e653-c8f0-4985-a7dc-42cf759a2408/ 2025-11-25 08:57:13.077619 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-daemon-9svqq_0c66e653-c8f0-4985-a7dc-42cf759a2408/kube-rbac-proxy/ 2025-11-25 08:57:13.077642 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-daemon-9svqq_0c66e653-c8f0-4985-a7dc-42cf759a2408/kube-rbac-proxy/0.log 2025-11-25 08:57:13.077665 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-daemon-9svqq_0c66e653-c8f0-4985-a7dc-42cf759a2408/machine-config-daemon/ 2025-11-25 08:57:13.077711 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-daemon-9svqq_0c66e653-c8f0-4985-a7dc-42cf759a2408/machine-config-daemon/6.log 2025-11-25 08:57:13.077736 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-daemon-9svqq_0c66e653-c8f0-4985-a7dc-42cf759a2408/machine-config-daemon/7.log 2025-11-25 08:57:13.077760 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-operator-74547568cd-4tjmv_ade7e84f-1d39-41e3-b441-6d574e330e1b/ 2025-11-25 08:57:13.077783 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-operator-74547568cd-4tjmv_ade7e84f-1d39-41e3-b441-6d574e330e1b/kube-rbac-proxy/ 2025-11-25 08:57:13.077812 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-operator-74547568cd-4tjmv_ade7e84f-1d39-41e3-b441-6d574e330e1b/kube-rbac-proxy/0.log 2025-11-25 08:57:13.077837 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-operator-74547568cd-4tjmv_ade7e84f-1d39-41e3-b441-6d574e330e1b/machine-config-operator/ 2025-11-25 08:57:13.077860 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-operator-74547568cd-4tjmv_ade7e84f-1d39-41e3-b441-6d574e330e1b/machine-config-operator/0.log 2025-11-25 08:57:13.077883 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-server-jdj8j_00c1b310-48f7-4b71-a0a3-bf926dc53c3f/ 2025-11-25 08:57:13.077906 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-server-jdj8j_00c1b310-48f7-4b71-a0a3-bf926dc53c3f/machine-config-server/ 2025-11-25 08:57:13.077930 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-server-jdj8j_00c1b310-48f7-4b71-a0a3-bf926dc53c3f/machine-config-server/0.log 2025-11-25 08:57:13.077953 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_certified-operators-s68c6_4bc9894e-d07a-44ae-b048-51bdb69b54d4/ 2025-11-25 08:57:13.077976 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_certified-operators-s68c6_4bc9894e-d07a-44ae-b048-51bdb69b54d4/extract-content/ 2025-11-25 08:57:13.078000 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_certified-operators-s68c6_4bc9894e-d07a-44ae-b048-51bdb69b54d4/extract-content/0.log 2025-11-25 08:57:13.078023 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_certified-operators-s68c6_4bc9894e-d07a-44ae-b048-51bdb69b54d4/extract-utilities/ 2025-11-25 08:57:13.078046 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_certified-operators-s68c6_4bc9894e-d07a-44ae-b048-51bdb69b54d4/extract-utilities/0.log 2025-11-25 08:57:13.078069 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_certified-operators-s68c6_4bc9894e-d07a-44ae-b048-51bdb69b54d4/registry-server/ 2025-11-25 08:57:13.078092 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_certified-operators-s68c6_4bc9894e-d07a-44ae-b048-51bdb69b54d4/registry-server/0.log.gz 2025-11-25 08:57:13.078116 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_community-operators-jrgfw_e123ec4f-eb40-476e-b097-18898b280755/ 2025-11-25 08:57:13.078140 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_community-operators-jrgfw_e123ec4f-eb40-476e-b097-18898b280755/extract-content/ 2025-11-25 08:57:13.078163 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_community-operators-jrgfw_e123ec4f-eb40-476e-b097-18898b280755/extract-content/0.log 2025-11-25 08:57:13.078186 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_community-operators-jrgfw_e123ec4f-eb40-476e-b097-18898b280755/extract-utilities/ 2025-11-25 08:57:13.078210 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_community-operators-jrgfw_e123ec4f-eb40-476e-b097-18898b280755/extract-utilities/0.log 2025-11-25 08:57:13.078233 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_community-operators-jrgfw_e123ec4f-eb40-476e-b097-18898b280755/registry-server/ 2025-11-25 08:57:13.078277 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_community-operators-jrgfw_e123ec4f-eb40-476e-b097-18898b280755/registry-server/0.log.gz 2025-11-25 08:57:13.078301 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_e8527aae5664f20f24bf3bbb3fd2981ba838928a8a47ce599ee258e4c6nhhcc_9c883123-087f-4bb1-91ec-af30e5be64fe/ 2025-11-25 08:57:13.078325 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_e8527aae5664f20f24bf3bbb3fd2981ba838928a8a47ce599ee258e4c6nhhcc_9c883123-087f-4bb1-91ec-af30e5be64fe/extract/ 2025-11-25 08:57:13.078348 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_e8527aae5664f20f24bf3bbb3fd2981ba838928a8a47ce599ee258e4c6nhhcc_9c883123-087f-4bb1-91ec-af30e5be64fe/extract/0.log 2025-11-25 08:57:13.078370 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_e8527aae5664f20f24bf3bbb3fd2981ba838928a8a47ce599ee258e4c6nhhcc_9c883123-087f-4bb1-91ec-af30e5be64fe/pull/ 2025-11-25 08:57:13.078393 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_e8527aae5664f20f24bf3bbb3fd2981ba838928a8a47ce599ee258e4c6nhhcc_9c883123-087f-4bb1-91ec-af30e5be64fe/pull/0.log 2025-11-25 08:57:13.078416 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_e8527aae5664f20f24bf3bbb3fd2981ba838928a8a47ce599ee258e4c6nhhcc_9c883123-087f-4bb1-91ec-af30e5be64fe/util/ 2025-11-25 08:57:13.078439 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_e8527aae5664f20f24bf3bbb3fd2981ba838928a8a47ce599ee258e4c6nhhcc_9c883123-087f-4bb1-91ec-af30e5be64fe/util/0.log 2025-11-25 08:57:13.078462 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_marketplace-operator-79b997595-7mb9x_3a66088f-3e13-4206-a9bf-18dd4bd0750a/ 2025-11-25 08:57:13.078484 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_marketplace-operator-79b997595-7mb9x_3a66088f-3e13-4206-a9bf-18dd4bd0750a/marketplace-operator/ 2025-11-25 08:57:13.078507 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_marketplace-operator-79b997595-7mb9x_3a66088f-3e13-4206-a9bf-18dd4bd0750a/marketplace-operator/0.log 2025-11-25 08:57:13.078530 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-marketplace-86p2t_10c8f51a-8801-491e-bacc-629b08444bff/ 2025-11-25 08:57:13.078552 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-marketplace-86p2t_10c8f51a-8801-491e-bacc-629b08444bff/extract-content/ 2025-11-25 08:57:13.078575 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-marketplace-86p2t_10c8f51a-8801-491e-bacc-629b08444bff/extract-content/0.log 2025-11-25 08:57:13.078615 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-marketplace-86p2t_10c8f51a-8801-491e-bacc-629b08444bff/extract-utilities/ 2025-11-25 08:57:13.078638 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-marketplace-86p2t_10c8f51a-8801-491e-bacc-629b08444bff/extract-utilities/0.log 2025-11-25 08:57:13.078661 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-marketplace-86p2t_10c8f51a-8801-491e-bacc-629b08444bff/registry-server/ 2025-11-25 08:57:13.078721 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-marketplace-86p2t_10c8f51a-8801-491e-bacc-629b08444bff/registry-server/0.log 2025-11-25 08:57:13.078754 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-qjvms_b210c707-487b-44bd-a008-7072d1266f33/ 2025-11-25 08:57:13.078846 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-qjvms_b210c707-487b-44bd-a008-7072d1266f33/extract-content/ 2025-11-25 08:57:13.078871 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-qjvms_b210c707-487b-44bd-a008-7072d1266f33/extract-content/0.log 2025-11-25 08:57:13.078895 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-qjvms_b210c707-487b-44bd-a008-7072d1266f33/extract-utilities/ 2025-11-25 08:57:13.078919 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-qjvms_b210c707-487b-44bd-a008-7072d1266f33/extract-utilities/0.log 2025-11-25 08:57:13.078942 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-qjvms_b210c707-487b-44bd-a008-7072d1266f33/registry-server/ 2025-11-25 08:57:13.078967 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-qjvms_b210c707-487b-44bd-a008-7072d1266f33/registry-server/0.log.gz 2025-11-25 08:57:13.078993 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-vmctf_b1318b81-d96e-491a-bc15-496823f923f2/ 2025-11-25 08:57:13.079017 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-vmctf_b1318b81-d96e-491a-bc15-496823f923f2/extract-content/ 2025-11-25 08:57:13.079041 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-vmctf_b1318b81-d96e-491a-bc15-496823f923f2/extract-content/0.log 2025-11-25 08:57:13.079064 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-vmctf_b1318b81-d96e-491a-bc15-496823f923f2/extract-utilities/ 2025-11-25 08:57:13.079088 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-vmctf_b1318b81-d96e-491a-bc15-496823f923f2/extract-utilities/0.log 2025-11-25 08:57:13.079111 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-vmctf_b1318b81-d96e-491a-bc15-496823f923f2/registry-server/ 2025-11-25 08:57:13.079134 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-vmctf_b1318b81-d96e-491a-bc15-496823f923f2/registry-server/0.log 2025-11-25 08:57:13.079157 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-9nn8n_ff0dcc35-fdbd-4898-b40c-6a4fe927028a/ 2025-11-25 08:57:13.079180 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-9nn8n_ff0dcc35-fdbd-4898-b40c-6a4fe927028a/bond-cni-plugin/ 2025-11-25 08:57:13.079203 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-9nn8n_ff0dcc35-fdbd-4898-b40c-6a4fe927028a/bond-cni-plugin/0.log 2025-11-25 08:57:13.079226 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-9nn8n_ff0dcc35-fdbd-4898-b40c-6a4fe927028a/cni-plugins/ 2025-11-25 08:57:13.079249 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-9nn8n_ff0dcc35-fdbd-4898-b40c-6a4fe927028a/cni-plugins/0.log 2025-11-25 08:57:13.079271 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-9nn8n_ff0dcc35-fdbd-4898-b40c-6a4fe927028a/egress-router-binary-copy/ 2025-11-25 08:57:13.079300 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-9nn8n_ff0dcc35-fdbd-4898-b40c-6a4fe927028a/egress-router-binary-copy/0.log 2025-11-25 08:57:13.079323 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-9nn8n_ff0dcc35-fdbd-4898-b40c-6a4fe927028a/kube-multus-additional-cni-plugins/ 2025-11-25 08:57:13.079346 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-9nn8n_ff0dcc35-fdbd-4898-b40c-6a4fe927028a/kube-multus-additional-cni-plugins/0.log 2025-11-25 08:57:13.079369 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-9nn8n_ff0dcc35-fdbd-4898-b40c-6a4fe927028a/routeoverride-cni/ 2025-11-25 08:57:13.079391 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-9nn8n_ff0dcc35-fdbd-4898-b40c-6a4fe927028a/routeoverride-cni/0.log 2025-11-25 08:57:13.079414 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-9nn8n_ff0dcc35-fdbd-4898-b40c-6a4fe927028a/whereabouts-cni-bincopy/ 2025-11-25 08:57:13.079436 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-9nn8n_ff0dcc35-fdbd-4898-b40c-6a4fe927028a/whereabouts-cni-bincopy/0.log 2025-11-25 08:57:13.079459 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-9nn8n_ff0dcc35-fdbd-4898-b40c-6a4fe927028a/whereabouts-cni/ 2025-11-25 08:57:13.079481 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-9nn8n_ff0dcc35-fdbd-4898-b40c-6a4fe927028a/whereabouts-cni/0.log 2025-11-25 08:57:13.079504 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-admission-controller-857f4d67dd-8vvxm_12be3b22-8d2e-4c51-ac86-27631631196d/ 2025-11-25 08:57:13.079528 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-admission-controller-857f4d67dd-8vvxm_12be3b22-8d2e-4c51-ac86-27631631196d/kube-rbac-proxy/ 2025-11-25 08:57:13.079551 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-admission-controller-857f4d67dd-8vvxm_12be3b22-8d2e-4c51-ac86-27631631196d/kube-rbac-proxy/0.log 2025-11-25 08:57:13.079575 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-admission-controller-857f4d67dd-8vvxm_12be3b22-8d2e-4c51-ac86-27631631196d/multus-admission-controller/ 2025-11-25 08:57:13.079599 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-admission-controller-857f4d67dd-8vvxm_12be3b22-8d2e-4c51-ac86-27631631196d/multus-admission-controller/0.log 2025-11-25 08:57:13.079622 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-rnlzm_165d8f9d-ffe8-4044-8133-6d14556b7d3a/ 2025-11-25 08:57:13.079646 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-rnlzm_165d8f9d-ffe8-4044-8133-6d14556b7d3a/kube-multus/ 2025-11-25 08:57:13.079669 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-rnlzm_165d8f9d-ffe8-4044-8133-6d14556b7d3a/kube-multus/2.log 2025-11-25 08:57:13.079720 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-rnlzm_165d8f9d-ffe8-4044-8133-6d14556b7d3a/kube-multus/3.log 2025-11-25 08:57:13.079745 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_network-metrics-daemon-65258_cbea9733-d907-4e20-9da1-04ca4637b5d8/ 2025-11-25 08:57:13.079775 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_network-metrics-daemon-65258_cbea9733-d907-4e20-9da1-04ca4637b5d8/kube-rbac-proxy/ 2025-11-25 08:57:13.079800 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_network-metrics-daemon-65258_cbea9733-d907-4e20-9da1-04ca4637b5d8/kube-rbac-proxy/0.log 2025-11-25 08:57:13.079824 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_network-metrics-daemon-65258_cbea9733-d907-4e20-9da1-04ca4637b5d8/network-metrics-daemon/ 2025-11-25 08:57:13.079848 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_network-metrics-daemon-65258_cbea9733-d907-4e20-9da1-04ca4637b5d8/network-metrics-daemon/0.log 2025-11-25 08:57:13.079871 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-console_networking-console-plugin-85b44fc459-gdk6g_5fe485a1-e14f-4c09-b5b9-f252bc42b7e8/ 2025-11-25 08:57:13.079894 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-console_networking-console-plugin-85b44fc459-gdk6g_5fe485a1-e14f-4c09-b5b9-f252bc42b7e8/networking-console-plugin/ 2025-11-25 08:57:13.079918 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-console_networking-console-plugin-85b44fc459-gdk6g_5fe485a1-e14f-4c09-b5b9-f252bc42b7e8/networking-console-plugin/0.log 2025-11-25 08:57:13.079942 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-diagnostics_network-check-source-55646444c4-trplf_9d751cbb-f2e2-430d-9754-c882a5e924a5/ 2025-11-25 08:57:13.079967 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-diagnostics_network-check-source-55646444c4-trplf_9d751cbb-f2e2-430d-9754-c882a5e924a5/check-endpoints/ 2025-11-25 08:57:13.079993 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-diagnostics_network-check-source-55646444c4-trplf_9d751cbb-f2e2-430d-9754-c882a5e924a5/check-endpoints/0.log 2025-11-25 08:57:13.080017 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-diagnostics_network-check-target-xd92c_3b6479f0-333b-4a96-9adf-2099afdc2447/ 2025-11-25 08:57:13.080039 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-diagnostics_network-check-target-xd92c_3b6479f0-333b-4a96-9adf-2099afdc2447/network-check-target-container/ 2025-11-25 08:57:13.080063 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-diagnostics_network-check-target-xd92c_3b6479f0-333b-4a96-9adf-2099afdc2447/network-check-target-container/0.log 2025-11-25 08:57:13.080086 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-node-identity_network-node-identity-vrzqb_ef543e1b-8068-4ea3-b32a-61027b32e95d/ 2025-11-25 08:57:13.080109 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-node-identity_network-node-identity-vrzqb_ef543e1b-8068-4ea3-b32a-61027b32e95d/approver/ 2025-11-25 08:57:13.080132 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-node-identity_network-node-identity-vrzqb_ef543e1b-8068-4ea3-b32a-61027b32e95d/approver/0.log 2025-11-25 08:57:13.080155 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-node-identity_network-node-identity-vrzqb_ef543e1b-8068-4ea3-b32a-61027b32e95d/webhook/ 2025-11-25 08:57:13.080178 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-node-identity_network-node-identity-vrzqb_ef543e1b-8068-4ea3-b32a-61027b32e95d/webhook/0.log 2025-11-25 08:57:13.080200 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-operator_iptables-alerter-4ln5h_d75a4c96-2883-4a0b-bab2-0fab2b6c0b49/ 2025-11-25 08:57:13.080235 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-operator_iptables-alerter-4ln5h_d75a4c96-2883-4a0b-bab2-0fab2b6c0b49/iptables-alerter/ 2025-11-25 08:57:13.080259 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-operator_iptables-alerter-4ln5h_d75a4c96-2883-4a0b-bab2-0fab2b6c0b49/iptables-alerter/0.log 2025-11-25 08:57:13.080281 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-operator_network-operator-58b4c7f79c-55gtf_37a5e44f-9a88-4405-be8a-b645485e7312/ 2025-11-25 08:57:13.080304 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-operator_network-operator-58b4c7f79c-55gtf_37a5e44f-9a88-4405-be8a-b645485e7312/network-operator/ 2025-11-25 08:57:13.080327 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-operator_network-operator-58b4c7f79c-55gtf_37a5e44f-9a88-4405-be8a-b645485e7312/network-operator/0.log 2025-11-25 08:57:13.080351 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-oauth-apiserver_apiserver-7bbb656c7d-9mkb2_cb31e41c-a67a-4d7a-bcab-64cb66d0e1d2/ 2025-11-25 08:57:13.080373 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-oauth-apiserver_apiserver-7bbb656c7d-9mkb2_cb31e41c-a67a-4d7a-bcab-64cb66d0e1d2/fix-audit-permissions/ 2025-11-25 08:57:13.080396 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-oauth-apiserver_apiserver-7bbb656c7d-9mkb2_cb31e41c-a67a-4d7a-bcab-64cb66d0e1d2/fix-audit-permissions/0.log 2025-11-25 08:57:13.080418 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-oauth-apiserver_apiserver-7bbb656c7d-9mkb2_cb31e41c-a67a-4d7a-bcab-64cb66d0e1d2/oauth-apiserver/ 2025-11-25 08:57:13.080440 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-oauth-apiserver_apiserver-7bbb656c7d-9mkb2_cb31e41c-a67a-4d7a-bcab-64cb66d0e1d2/oauth-apiserver/0.log 2025-11-25 08:57:13.080462 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_catalog-operator-68c6474976-p68gf_e94f9e65-ab21-4acc-959c-b12540d1ad55/ 2025-11-25 08:57:13.080485 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_catalog-operator-68c6474976-p68gf_e94f9e65-ab21-4acc-959c-b12540d1ad55/catalog-operator/ 2025-11-25 08:57:13.080507 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_catalog-operator-68c6474976-p68gf_e94f9e65-ab21-4acc-959c-b12540d1ad55/catalog-operator/0.log 2025-11-25 08:57:13.080530 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_collect-profiles-29400990-hm8vg_1371dd9e-6fe8-4b61-b863-514a0faacb4b/ 2025-11-25 08:57:13.080551 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_collect-profiles-29400990-hm8vg_1371dd9e-6fe8-4b61-b863-514a0faacb4b/collect-profiles/ 2025-11-25 08:57:13.080574 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_collect-profiles-29400990-hm8vg_1371dd9e-6fe8-4b61-b863-514a0faacb4b/collect-profiles/0.log 2025-11-25 08:57:13.080596 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_collect-profiles-29401005-v9vrf_cc1fe592-87fa-4269-899d-de5a82a18303/ 2025-11-25 08:57:13.080618 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_collect-profiles-29401005-v9vrf_cc1fe592-87fa-4269-899d-de5a82a18303/collect-profiles/ 2025-11-25 08:57:13.080640 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_collect-profiles-29401005-v9vrf_cc1fe592-87fa-4269-899d-de5a82a18303/collect-profiles/0.log 2025-11-25 08:57:13.080668 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_olm-operator-6b444d44fb-2k9d7_2957bc7d-b58f-456c-bd2f-0c5cabc2e81a/ 2025-11-25 08:57:13.080745 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_olm-operator-6b444d44fb-2k9d7_2957bc7d-b58f-456c-bd2f-0c5cabc2e81a/olm-operator/ 2025-11-25 08:57:13.080770 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_olm-operator-6b444d44fb-2k9d7_2957bc7d-b58f-456c-bd2f-0c5cabc2e81a/olm-operator/0.log 2025-11-25 08:57:13.080837 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_package-server-manager-789f6589d5-wbvdx_9b4ffd88-8699-458c-8cbf-e1bafeee15ad/ 2025-11-25 08:57:13.080862 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_package-server-manager-789f6589d5-wbvdx_9b4ffd88-8699-458c-8cbf-e1bafeee15ad/kube-rbac-proxy/ 2025-11-25 08:57:13.080886 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_package-server-manager-789f6589d5-wbvdx_9b4ffd88-8699-458c-8cbf-e1bafeee15ad/kube-rbac-proxy/0.log 2025-11-25 08:57:13.080910 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_package-server-manager-789f6589d5-wbvdx_9b4ffd88-8699-458c-8cbf-e1bafeee15ad/package-server-manager/ 2025-11-25 08:57:13.080933 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_package-server-manager-789f6589d5-wbvdx_9b4ffd88-8699-458c-8cbf-e1bafeee15ad/package-server-manager/0.log 2025-11-25 08:57:13.080957 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_packageserver-d55dfcdfc-m7686_502dc684-b845-4052-bfe0-e6cc1ee66088/ 2025-11-25 08:57:13.080980 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_packageserver-d55dfcdfc-m7686_502dc684-b845-4052-bfe0-e6cc1ee66088/packageserver/ 2025-11-25 08:57:13.081003 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_packageserver-d55dfcdfc-m7686_502dc684-b845-4052-bfe0-e6cc1ee66088/packageserver/0.log 2025-11-25 08:57:13.081026 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-control-plane-749d76644c-jxntj_bd116abe-dd46-4f51-baf6-19d11d4473c8/ 2025-11-25 08:57:13.081049 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-control-plane-749d76644c-jxntj_bd116abe-dd46-4f51-baf6-19d11d4473c8/kube-rbac-proxy/ 2025-11-25 08:57:13.081072 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-control-plane-749d76644c-jxntj_bd116abe-dd46-4f51-baf6-19d11d4473c8/kube-rbac-proxy/0.log 2025-11-25 08:57:13.081094 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-control-plane-749d76644c-jxntj_bd116abe-dd46-4f51-baf6-19d11d4473c8/ovnkube-cluster-manager/ 2025-11-25 08:57:13.081117 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-control-plane-749d76644c-jxntj_bd116abe-dd46-4f51-baf6-19d11d4473c8/ovnkube-cluster-manager/0.log 2025-11-25 08:57:13.081140 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-75tr7_6bb4846e-d7d3-4af7-82a4-1eca6049c651/ 2025-11-25 08:57:13.081162 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-75tr7_6bb4846e-d7d3-4af7-82a4-1eca6049c651/kube-rbac-proxy-node/ 2025-11-25 08:57:13.081195 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-75tr7_6bb4846e-d7d3-4af7-82a4-1eca6049c651/kube-rbac-proxy-node/0.log 2025-11-25 08:57:13.081219 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-75tr7_6bb4846e-d7d3-4af7-82a4-1eca6049c651/kube-rbac-proxy-ovn-metrics/ 2025-11-25 08:57:13.081242 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-75tr7_6bb4846e-d7d3-4af7-82a4-1eca6049c651/kube-rbac-proxy-ovn-metrics/0.log 2025-11-25 08:57:13.081265 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-75tr7_6bb4846e-d7d3-4af7-82a4-1eca6049c651/kubecfg-setup/ 2025-11-25 08:57:13.081289 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-75tr7_6bb4846e-d7d3-4af7-82a4-1eca6049c651/kubecfg-setup/0.log 2025-11-25 08:57:13.081313 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-75tr7_6bb4846e-d7d3-4af7-82a4-1eca6049c651/nbdb/ 2025-11-25 08:57:13.081336 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-75tr7_6bb4846e-d7d3-4af7-82a4-1eca6049c651/nbdb/0.log 2025-11-25 08:57:13.081360 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-75tr7_6bb4846e-d7d3-4af7-82a4-1eca6049c651/northd/ 2025-11-25 08:57:13.081383 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-75tr7_6bb4846e-d7d3-4af7-82a4-1eca6049c651/northd/0.log 2025-11-25 08:57:13.081406 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-75tr7_6bb4846e-d7d3-4af7-82a4-1eca6049c651/ovn-acl-logging/ 2025-11-25 08:57:13.081428 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-75tr7_6bb4846e-d7d3-4af7-82a4-1eca6049c651/ovn-acl-logging/0.log 2025-11-25 08:57:13.081451 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-75tr7_6bb4846e-d7d3-4af7-82a4-1eca6049c651/ovn-controller/ 2025-11-25 08:57:13.081474 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-75tr7_6bb4846e-d7d3-4af7-82a4-1eca6049c651/ovn-controller/0.log 2025-11-25 08:57:13.081496 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-75tr7_6bb4846e-d7d3-4af7-82a4-1eca6049c651/ovnkube-controller/ 2025-11-25 08:57:13.081519 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-75tr7_6bb4846e-d7d3-4af7-82a4-1eca6049c651/ovnkube-controller/0.log.gz 2025-11-25 08:57:13.081542 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-75tr7_6bb4846e-d7d3-4af7-82a4-1eca6049c651/sbdb/ 2025-11-25 08:57:13.081564 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-75tr7_6bb4846e-d7d3-4af7-82a4-1eca6049c651/sbdb/0.log 2025-11-25 08:57:13.081587 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-route-controller-manager_route-controller-manager-7d74664549-r62vs_c19c2fd7-e10d-46ef-b97d-c4f08b733818/ 2025-11-25 08:57:13.081610 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-route-controller-manager_route-controller-manager-7d74664549-r62vs_c19c2fd7-e10d-46ef-b97d-c4f08b733818/route-controller-manager/ 2025-11-25 08:57:13.081634 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-route-controller-manager_route-controller-manager-7d74664549-r62vs_c19c2fd7-e10d-46ef-b97d-c4f08b733818/route-controller-manager/0.log 2025-11-25 08:57:13.081663 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-service-ca-operator_service-ca-operator-777779d784-fzjr4_af223fa9-1591-474a-b461-a61e4a188fab/ 2025-11-25 08:57:13.081715 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-service-ca-operator_service-ca-operator-777779d784-fzjr4_af223fa9-1591-474a-b461-a61e4a188fab/service-ca-operator/ 2025-11-25 08:57:13.081741 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-service-ca-operator_service-ca-operator-777779d784-fzjr4_af223fa9-1591-474a-b461-a61e4a188fab/service-ca-operator/0.log 2025-11-25 08:57:13.081765 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-service-ca_service-ca-9c57cc56f-5cj2v_726a97c0-8cac-44d3-9a9c-b7cae9d31015/ 2025-11-25 08:57:13.081789 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-service-ca_service-ca-9c57cc56f-5cj2v_726a97c0-8cac-44d3-9a9c-b7cae9d31015/service-ca-controller/ 2025-11-25 08:57:13.081812 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-service-ca_service-ca-9c57cc56f-5cj2v_726a97c0-8cac-44d3-9a9c-b7cae9d31015/service-ca-controller/0.log 2025-11-25 08:57:13.081835 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_5d473c3169f40b179d14921c90af2c8546b7b757fe551b7dba7d903f5dbxhnc_0b24aa07-51e3-4c35-8055-c3c284f2be65/ 2025-11-25 08:57:13.081858 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_5d473c3169f40b179d14921c90af2c8546b7b757fe551b7dba7d903f5dbxhnc_0b24aa07-51e3-4c35-8055-c3c284f2be65/extract/ 2025-11-25 08:57:13.081881 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_5d473c3169f40b179d14921c90af2c8546b7b757fe551b7dba7d903f5dbxhnc_0b24aa07-51e3-4c35-8055-c3c284f2be65/extract/0.log 2025-11-25 08:57:13.081903 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_5d473c3169f40b179d14921c90af2c8546b7b757fe551b7dba7d903f5dbxhnc_0b24aa07-51e3-4c35-8055-c3c284f2be65/pull/ 2025-11-25 08:57:13.081926 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_5d473c3169f40b179d14921c90af2c8546b7b757fe551b7dba7d903f5dbxhnc_0b24aa07-51e3-4c35-8055-c3c284f2be65/pull/0.log 2025-11-25 08:57:13.081948 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_5d473c3169f40b179d14921c90af2c8546b7b757fe551b7dba7d903f5dbxhnc_0b24aa07-51e3-4c35-8055-c3c284f2be65/util/ 2025-11-25 08:57:13.081971 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_5d473c3169f40b179d14921c90af2c8546b7b757fe551b7dba7d903f5dbxhnc_0b24aa07-51e3-4c35-8055-c3c284f2be65/util/0.log 2025-11-25 08:57:13.081993 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5909v4qn_99363114-293b-4965-8db7-d0d06cf9d4c8/ 2025-11-25 08:57:13.082016 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5909v4qn_99363114-293b-4965-8db7-d0d06cf9d4c8/extract/ 2025-11-25 08:57:13.082039 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5909v4qn_99363114-293b-4965-8db7-d0d06cf9d4c8/extract/0.log 2025-11-25 08:57:13.082061 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5909v4qn_99363114-293b-4965-8db7-d0d06cf9d4c8/pull/ 2025-11-25 08:57:13.082084 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5909v4qn_99363114-293b-4965-8db7-d0d06cf9d4c8/pull/0.log 2025-11-25 08:57:13.082112 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5909v4qn_99363114-293b-4965-8db7-d0d06cf9d4c8/util/ 2025-11-25 08:57:13.082135 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5909v4qn_99363114-293b-4965-8db7-d0d06cf9d4c8/util/0.log 2025-11-25 08:57:13.082158 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_bb19b1cba2cc563809808af75601272a3d0e02aee2f524ae78f4011409vrfmh_ac6ebfef-ab79-4dc7-a9f6-ea6193c5dd1b/ 2025-11-25 08:57:13.082181 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_bb19b1cba2cc563809808af75601272a3d0e02aee2f524ae78f4011409vrfmh_ac6ebfef-ab79-4dc7-a9f6-ea6193c5dd1b/extract/ 2025-11-25 08:57:13.082204 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_bb19b1cba2cc563809808af75601272a3d0e02aee2f524ae78f4011409vrfmh_ac6ebfef-ab79-4dc7-a9f6-ea6193c5dd1b/extract/0.log 2025-11-25 08:57:13.082227 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_bb19b1cba2cc563809808af75601272a3d0e02aee2f524ae78f4011409vrfmh_ac6ebfef-ab79-4dc7-a9f6-ea6193c5dd1b/pull/ 2025-11-25 08:57:13.082249 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_bb19b1cba2cc563809808af75601272a3d0e02aee2f524ae78f4011409vrfmh_ac6ebfef-ab79-4dc7-a9f6-ea6193c5dd1b/pull/0.log 2025-11-25 08:57:13.082272 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_bb19b1cba2cc563809808af75601272a3d0e02aee2f524ae78f4011409vrfmh_ac6ebfef-ab79-4dc7-a9f6-ea6193c5dd1b/util/ 2025-11-25 08:57:13.082295 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_bb19b1cba2cc563809808af75601272a3d0e02aee2f524ae78f4011409vrfmh_ac6ebfef-ab79-4dc7-a9f6-ea6193c5dd1b/util/0.log 2025-11-25 08:57:13.082318 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_c976308faac62824ee875fa80dce4db57a79e32adb8a627dd31cdf72f6j4tzl_41017857-05e5-4244-9960-ca742d6efbac/ 2025-11-25 08:57:13.082341 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_c976308faac62824ee875fa80dce4db57a79e32adb8a627dd31cdf72f6j4tzl_41017857-05e5-4244-9960-ca742d6efbac/extract/ 2025-11-25 08:57:13.082364 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_c976308faac62824ee875fa80dce4db57a79e32adb8a627dd31cdf72f6j4tzl_41017857-05e5-4244-9960-ca742d6efbac/extract/0.log 2025-11-25 08:57:13.082387 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_c976308faac62824ee875fa80dce4db57a79e32adb8a627dd31cdf72f6j4tzl_41017857-05e5-4244-9960-ca742d6efbac/pull/ 2025-11-25 08:57:13.082410 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_c976308faac62824ee875fa80dce4db57a79e32adb8a627dd31cdf72f6j4tzl_41017857-05e5-4244-9960-ca742d6efbac/pull/0.log 2025-11-25 08:57:13.082433 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_c976308faac62824ee875fa80dce4db57a79e32adb8a627dd31cdf72f6j4tzl_41017857-05e5-4244-9960-ca742d6efbac/util/ 2025-11-25 08:57:13.082456 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_c976308faac62824ee875fa80dce4db57a79e32adb8a627dd31cdf72f6j4tzl_41017857-05e5-4244-9960-ca742d6efbac/util/0.log 2025-11-25 08:57:13.082479 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_infra-operator-controller-manager-5d5f54c4f8-7grxc_1294ff01-9992-49b7-9189-80f19448f4ec/ 2025-11-25 08:57:13.082508 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_infra-operator-controller-manager-5d5f54c4f8-7grxc_1294ff01-9992-49b7-9189-80f19448f4ec/kube-rbac-proxy/ 2025-11-25 08:57:13.082531 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_infra-operator-controller-manager-5d5f54c4f8-7grxc_1294ff01-9992-49b7-9189-80f19448f4ec/kube-rbac-proxy/0.log 2025-11-25 08:57:13.082553 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_infra-operator-controller-manager-5d5f54c4f8-7grxc_1294ff01-9992-49b7-9189-80f19448f4ec/manager/ 2025-11-25 08:57:13.082576 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_infra-operator-controller-manager-5d5f54c4f8-7grxc_1294ff01-9992-49b7-9189-80f19448f4ec/manager/2.log 2025-11-25 08:57:13.082615 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_infra-operator-index-d7xhq_54db635b-5a0d-4d31-b0d8-c9161687b530/ 2025-11-25 08:57:13.082638 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_infra-operator-index-d7xhq_54db635b-5a0d-4d31-b0d8-c9161687b530/registry-server/ 2025-11-25 08:57:13.082661 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_infra-operator-index-d7xhq_54db635b-5a0d-4d31-b0d8-c9161687b530/registry-server/0.log 2025-11-25 08:57:13.082707 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_keystone-operator-controller-manager-7bd69fb66c-cpsdv_b322437d-803a-4277-8055-ec0a477b20ea/ 2025-11-25 08:57:13.082733 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_keystone-operator-controller-manager-7bd69fb66c-cpsdv_b322437d-803a-4277-8055-ec0a477b20ea/manager/ 2025-11-25 08:57:13.082756 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_keystone-operator-controller-manager-7bd69fb66c-cpsdv_b322437d-803a-4277-8055-ec0a477b20ea/manager/2.log 2025-11-25 08:57:13.082778 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_keystone-operator-index-rk98d_080d2dd9-3666-413f-ae1e-fec9755e6c0a/ 2025-11-25 08:57:13.082801 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_keystone-operator-index-rk98d_080d2dd9-3666-413f-ae1e-fec9755e6c0a/registry-server/ 2025-11-25 08:57:13.082824 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_keystone-operator-index-rk98d_080d2dd9-3666-413f-ae1e-fec9755e6c0a/registry-server/0.log 2025-11-25 08:57:13.082847 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_mariadb-operator-controller-manager-7cccd94ccd-qzzrk_4cceb8a9-d8e6-4305-bb38-d1931c606ca0/ 2025-11-25 08:57:13.082869 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_mariadb-operator-controller-manager-7cccd94ccd-qzzrk_4cceb8a9-d8e6-4305-bb38-d1931c606ca0/manager/ 2025-11-25 08:57:13.082892 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_mariadb-operator-controller-manager-7cccd94ccd-qzzrk_4cceb8a9-d8e6-4305-bb38-d1931c606ca0/manager/2.log 2025-11-25 08:57:13.082915 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_mariadb-operator-index-ff98k_88490056-56e4-4f70-a00d-75c4c981d88a/ 2025-11-25 08:57:13.082938 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_mariadb-operator-index-ff98k_88490056-56e4-4f70-a00d-75c4c981d88a/registry-server/ 2025-11-25 08:57:13.082962 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_mariadb-operator-index-ff98k_88490056-56e4-4f70-a00d-75c4c981d88a/registry-server/0.log 2025-11-25 08:57:13.082992 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_rabbitmq-cluster-operator-779fc9694b-jj4jt_8e668990-eb3c-4e71-9167-a2a19c220885/ 2025-11-25 08:57:13.083017 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_rabbitmq-cluster-operator-779fc9694b-jj4jt_8e668990-eb3c-4e71-9167-a2a19c220885/operator/ 2025-11-25 08:57:13.083044 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_rabbitmq-cluster-operator-779fc9694b-jj4jt_8e668990-eb3c-4e71-9167-a2a19c220885/operator/2.log 2025-11-25 08:57:13.083069 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_rabbitmq-cluster-operator-index-ggdrf_745a7951-640d-4170-8446-4da0939f06ab/ 2025-11-25 08:57:13.083094 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_rabbitmq-cluster-operator-index-ggdrf_745a7951-640d-4170-8446-4da0939f06ab/registry-server/ 2025-11-25 08:57:13.083118 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_rabbitmq-cluster-operator-index-ggdrf_745a7951-640d-4170-8446-4da0939f06ab/registry-server/0.log 2025-11-25 08:57:13.083141 | controller | cd+++++++++ ci-framework-data/logs/openstack-must-gather/ 2025-11-25 08:57:13.083165 | controller | >f+++++++++ ci-framework-data/logs/openstack-must-gather/event-filter.html 2025-11-25 08:57:13.083189 | controller | >f+++++++++ ci-framework-data/logs/openstack-must-gather/must-gather.logs 2025-11-25 08:57:13.083213 | controller | >f+++++++++ ci-framework-data/logs/openstack-must-gather/timestamp 2025-11-25 08:57:13.083237 | controller | cd+++++++++ ci-framework-data/tests/ 2025-11-25 08:57:13.083261 | controller | cd+++++++++ ci-framework-data/tests/kuttl_keystone/ 2025-11-25 08:57:13.083286 | controller | >f+++++++++ ci-framework-data/tests/kuttl_keystone/kuttl-report-keystone.xml 2025-11-25 08:57:13.083311 | controller | cd+++++++++ registries.conf.d/ 2025-11-25 08:57:13.083335 | controller | >f+++++++++ registries.conf.d/000-shortnames.conf 2025-11-25 08:57:13.083359 | controller | cd+++++++++ system-config/ 2025-11-25 08:57:13.083383 | controller | cd+++++++++ system-config/libvirt/ 2025-11-25 08:57:13.083407 | controller | >f+++++++++ system-config/libvirt/libvirt-admin.conf 2025-11-25 08:57:13.083430 | controller | >f+++++++++ system-config/libvirt/libvirt.conf 2025-11-25 08:57:13.608285 | controller | changed: .d..t...... ./ 2025-11-25 08:57:14.215271 | controller | changed: .d..t...... ./ 2025-11-25 08:57:14.300297 | 2025-11-25 08:57:14.300455 | TASK [Return artifact to Zuul] 2025-11-25 08:57:14.336588 | controller | skipping: Conditional result was False 2025-11-25 08:57:14.500135 | 2025-11-25 08:57:14.500286 | PLAY [Run ci/playbooks/collect-logs.yml on CRC host] 2025-11-25 08:57:14.521577 | 2025-11-25 08:57:14.521707 | TASK [Get kubelet journalctl logs] 2025-11-25 08:57:15.562342 | crc | Output suppressed because no_log was given 2025-11-25 08:57:15.620001 | 2025-11-25 08:57:15.620174 | PLAY RECAP 2025-11-25 08:57:15.620248 | controller | ok: 15 changed: 11 unreachable: 0 failed: 0 skipped: 7 rescued: 0 ignored: 1 2025-11-25 08:57:15.620290 | crc | ok: 1 changed: 1 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2025-11-25 08:57:15.620318 | 2025-11-25 08:57:15.798891 | POST-RUN END RESULT_NORMAL: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml@main] 2025-11-25 08:57:15.802704 | POST-RUN START: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/multinode-autohold.yml@main] 2025-11-25 08:57:16.436563 | 2025-11-25 08:57:16.436734 | PLAY [Run ci/playbooks/multinode-autohold.yml] 2025-11-25 08:57:16.518435 | 2025-11-25 08:57:16.518607 | TASK [Verify if "success" flag exists after successful tests execution] 2025-11-25 08:57:17.260088 | controller | ok 2025-11-25 08:57:17.284411 | 2025-11-25 08:57:17.284564 | TASK [Fetch existing autoholds from zuul] 2025-11-25 08:57:17.366316 | controller | ok 2025-11-25 08:57:17.418117 | 2025-11-25 08:57:17.418276 | TASK [krb_request : Perform the request] 2025-11-25 08:57:18.252663 | controller | ok 2025-11-25 08:57:18.350360 | 2025-11-25 08:57:18.350517 | TASK [Check if any autohold matches] 2025-11-25 08:57:18.458041 | controller | skipping: Conditional result was False 2025-11-25 08:57:18.584734 | 2025-11-25 08:57:18.584890 | PLAY RECAP 2025-11-25 08:57:18.584936 | controller | ok: 2 changed: 0 unreachable: 0 failed: 0 skipped: 1 rescued: 0 ignored: 0 2025-11-25 08:57:18.584959 | 2025-11-25 08:57:18.719835 | POST-RUN END RESULT_NORMAL: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/multinode-autohold.yml@main] 2025-11-25 08:57:18.724431 | POST-RUN START: [trusted : review.rdoproject.org/config/playbooks/crc/print-machineconfigpool.yaml@master] 2025-11-25 08:57:19.315541 | 2025-11-25 08:57:19.315700 | PLAY [crc] 2025-11-25 08:57:19.344890 | 2025-11-25 08:57:19.345035 | TASK [Print machineconfigpool] 2025-11-25 08:57:20.712984 | crc | NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE 2025-11-25 08:57:20.721973 | crc | master rendered-master-f83a149c7490c3b0bf850df839837383 False False True 1 0 0 1 275d 2025-11-25 08:57:20.721999 | crc | worker rendered-worker-3ac026608b31894efefa9c37addde38a True False False 0 0 0 0 275d 2025-11-25 08:57:20.886424 | crc | changed 2025-11-25 08:57:20.942996 | 2025-11-25 08:57:20.943143 | PLAY RECAP 2025-11-25 08:57:20.943208 | crc | ok: 1 changed: 1 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2025-11-25 08:57:20.943239 | 2025-11-25 08:57:21.078762 | POST-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/crc/print-machineconfigpool.yaml@master] 2025-11-25 08:57:21.087432 | POST-RUN START: [trusted : review.rdoproject.org/config/playbooks/crc/compress-crc-cloud-logs.yaml@master] 2025-11-25 08:57:21.719211 | 2025-11-25 08:57:21.719492 | PLAY [crc] 2025-11-25 08:57:21.772168 | 2025-11-25 08:57:21.772363 | TASK [Create compressed log tar gz file - crc-cloud logs] 2025-11-25 08:57:22.485828 | crc | tar: Removing leading `/' from member names 2025-11-25 08:57:22.533359 | crc | tar: /var/home/core/workdir/*log: Cannot stat: No such file or directory 2025-11-25 08:57:22.533413 | crc | tar: Exiting with failure status due to previous errors 2025-11-25 08:57:22.818845 | crc | ok 2025-11-25 08:57:22.834621 | 2025-11-25 08:57:22.834846 | TASK [Copy crc-cloud logs] 2025-11-25 08:57:23.188801 | crc | cp: cannot stat '/var/home/core/workdir/*log': No such file or directory 2025-11-25 08:57:23.415598 | crc | ok 2025-11-25 08:57:23.470834 | 2025-11-25 08:57:23.470981 | PLAY RECAP 2025-11-25 08:57:23.471039 | crc | ok: 2 changed: 0 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2025-11-25 08:57:23.471066 | 2025-11-25 08:57:23.607910 | POST-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/crc/compress-crc-cloud-logs.yaml@master] 2025-11-25 08:57:23.614344 | POST-RUN START: [trusted : review.rdoproject.org/config/playbooks/crc/compress-logs.yaml@master] 2025-11-25 08:57:24.311648 | 2025-11-25 08:57:24.311804 | PLAY [all] 2025-11-25 08:57:24.403284 | 2025-11-25 08:57:24.403477 | TASK [Create compressed log tar gz file - ci-framework-data] 2025-11-25 08:57:25.275837 | controller | tar: Removing leading `/' from member names 2025-11-25 08:57:25.387486 | crc | tar: Removing leading `/' from member names 2025-11-25 08:57:25.390188 | crc | tar: /var/home/core/ci-framework-data: Cannot stat: No such file or directory 2025-11-25 08:57:25.390221 | crc | tar: Exiting with failure status due to previous errors 2025-11-25 08:57:25.393972 | crc | mv: cannot move '/var/home/core/ci-framework-data-crc-all-logs.tar.gz' to '/var/home/core/ci-framework-data/logs/ci-framework-data-crc-all-logs.tar.gz': No such file or directory 2025-11-25 08:57:25.396641 | crc | chown: cannot access '/var/home/core/ci-framework-data/logs/ci-framework-data-crc-all-logs.tar.gz': No such file or directory 2025-11-25 08:57:25.610431 | crc | ERROR 2025-11-25 08:57:25.610897 | crc | { 2025-11-25 08:57:25.610981 | crc | "delta": "0:00:00.018296", 2025-11-25 08:57:25.611031 | crc | "end": "2025-11-25 08:57:25.397065", 2025-11-25 08:57:25.611073 | crc | "msg": "non-zero return code", 2025-11-25 08:57:25.611123 | crc | "rc": 1, 2025-11-25 08:57:25.611176 | crc | "start": "2025-11-25 08:57:25.378769" 2025-11-25 08:57:25.611216 | crc | } 2025-11-25 08:57:25.611291 | crc | ERROR: Ignoring Errors 2025-11-25 08:57:26.567780 | controller | ok 2025-11-25 08:57:26.592250 | 2025-11-25 08:57:26.592357 | TASK [Create compressed log tar gz file - zuul-output] 2025-11-25 08:57:27.091180 | controller | tar: Removing leading `/' from member names 2025-11-25 08:57:27.144019 | crc | tar: Removing leading `/' from member names 2025-11-25 08:57:27.815840 | crc | ok 2025-11-25 08:57:27.868702 | controller | ok 2025-11-25 08:57:27.994778 | 2025-11-25 08:57:27.994917 | PLAY RECAP 2025-11-25 08:57:27.994966 | controller | ok: 2 changed: 0 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2025-11-25 08:57:27.994992 | crc | ok: 2 changed: 0 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 1 2025-11-25 08:57:27.995010 | 2025-11-25 08:57:28.125579 | POST-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/crc/compress-logs.yaml@master] 2025-11-25 08:57:28.134360 | POST-RUN START: [trusted : review.rdoproject.org/config/playbooks/crc/bootstraped-ci-network-cleanup.yml@master] 2025-11-25 08:57:28.802736 | 2025-11-25 08:57:28.802904 | PLAY [Run playbooks/crc/bootstraped-ci-network-cleanup.yml] 2025-11-25 08:57:28.894939 | 2025-11-25 08:57:28.895171 | TASK [Create openstack config dir] 2025-11-25 08:57:29.528642 | controller | ok 2025-11-25 08:57:29.554159 | 2025-11-25 08:57:29.554347 | TASK [Check for cleanup skip flag file presence] 2025-11-25 08:57:30.046104 | controller | ok 2025-11-25 08:57:30.079095 | 2025-11-25 08:57:30.079192 | TASK [Generate clouds config from cloud_secrets secret] 2025-11-25 08:57:31.249195 | controller | changed 2025-11-25 08:57:31.279899 | 2025-11-25 08:57:31.280013 | LOOP [Delete ports from each host] 2025-11-25 08:57:31.454438 | controller | ok: "crc" 2025-11-25 08:57:34.423094 | controller | ok: "controller" 2025-11-25 08:57:34.491493 | controller | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/trusted/project_0/review.rdoproject.org/config/playbooks/crc/bootstraped-ci-network-cleanup-instance-ports.yml 2025-11-25 08:57:34.496924 | controller | included: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/trusted/project_0/review.rdoproject.org/config/playbooks/crc/bootstraped-ci-network-cleanup-instance-ports.yml 2025-11-25 08:57:34.530672 | 2025-11-25 08:57:34.530782 | TASK [Fetch port info] 2025-11-25 08:57:36.836893 | controller | admin_state_up: true 2025-11-25 08:57:36.837623 | controller | allowed_address_pairs: [] 2025-11-25 08:57:36.838256 | controller | binding_host_id: null 2025-11-25 08:57:36.838653 | controller | binding_profile: {} 2025-11-25 08:57:36.839041 | controller | binding_vif_details: {} 2025-11-25 08:57:36.839461 | controller | binding_vif_type: null 2025-11-25 08:57:36.839978 | controller | binding_vnic_type: normal 2025-11-25 08:57:36.840437 | controller | created_at: '2025-11-25T08:29:47Z' 2025-11-25 08:57:36.840783 | controller | data_plane_status: null 2025-11-25 08:57:36.841049 | controller | description: '' 2025-11-25 08:57:36.841396 | controller | device_id: 12712f52-3081-4188-aebd-a836c44245f3 2025-11-25 08:57:36.841677 | controller | device_owner: compute:nova 2025-11-25 08:57:36.841968 | controller | device_profile: null 2025-11-25 08:57:36.842680 | controller | dns_assignment: 2025-11-25 08:57:36.842941 | controller | - fqdn: host-192-168-122-10.openstacklocal. 2025-11-25 08:57:36.842963 | controller | hostname: host-192-168-122-10 2025-11-25 08:57:36.842978 | controller | ip_address: 192.168.122.10 2025-11-25 08:57:36.842997 | controller | dns_domain: '' 2025-11-25 08:57:36.843283 | controller | dns_name: '' 2025-11-25 08:57:36.843550 | controller | extra_dhcp_opts: [] 2025-11-25 08:57:36.844132 | controller | fixed_ips: 2025-11-25 08:57:36.844418 | controller | - ip_address: 192.168.122.10 2025-11-25 08:57:36.844440 | controller | subnet_id: c14a23ac-2fa5-410b-9643-10211513380d 2025-11-25 08:57:36.844459 | controller | hardware_offload_type: null 2025-11-25 08:57:36.844694 | controller | hints: '' 2025-11-25 08:57:36.844987 | controller | id: 0f918b5b-e4e6-4c04-abb5-f2fa79ced4de 2025-11-25 08:57:36.845275 | controller | ip_allocation: immediate 2025-11-25 08:57:36.845559 | controller | mac_address: fa:16:3e:62:b5:40 2025-11-25 08:57:36.845861 | controller | name: crc-12712f52-3081-4188-aebd-a836c44245f3 2025-11-25 08:57:36.846225 | controller | network_id: 8d07bbf9-c941-4072-96cc-7b9f0d4efde9 2025-11-25 08:57:36.846508 | controller | numa_affinity_policy: null 2025-11-25 08:57:36.846865 | controller | port_security_enabled: false 2025-11-25 08:57:36.847322 | controller | project_id: 4b633c451ac74233be3721a3635275e5 2025-11-25 08:57:36.847732 | controller | propagate_uplink_status: null 2025-11-25 08:57:36.848276 | controller | resource_request: null 2025-11-25 08:57:36.848763 | controller | revision_number: 4 2025-11-25 08:57:36.849187 | controller | qos_network_policy_id: null 2025-11-25 08:57:36.849565 | controller | qos_policy_id: null 2025-11-25 08:57:36.849959 | controller | security_group_ids: [] 2025-11-25 08:57:36.850343 | controller | status: ACTIVE 2025-11-25 08:57:36.850689 | controller | tags: [] 2025-11-25 08:57:36.851063 | controller | trunk_details: null 2025-11-25 08:57:36.851451 | controller | trusted: null 2025-11-25 08:57:36.851884 | controller | updated_at: '2025-11-25T08:29:57Z' 2025-11-25 08:57:37.208891 | controller | changed 2025-11-25 08:57:37.239870 | 2025-11-25 08:57:37.239994 | TASK [Set port info yaml for further usage] 2025-11-25 08:57:37.369419 | controller | ok 2025-11-25 08:57:37.447158 | 2025-11-25 08:57:37.447328 | TASK [Detach port] 2025-11-25 08:57:40.165832 | controller | changed 2025-11-25 08:57:40.244092 | 2025-11-25 08:57:40.244274 | LOOP [Delete port association with trunk network] 2025-11-25 08:57:40.349561 | 2025-11-25 08:57:40.349805 | LOOP [Delete trunk sub ports (tagged ones)] 2025-11-25 08:57:40.490590 | 2025-11-25 08:57:40.490865 | TASK [Delete the trunk network itself] 2025-11-25 08:57:41.181288 | controller | skipping: Conditional result was False 2025-11-25 08:57:41.228487 | 2025-11-25 08:57:41.228674 | TASK [Remove the parent/trunk port itself] 2025-11-25 08:57:54.437668 | controller | changed 2025-11-25 08:57:54.490763 | 2025-11-25 08:57:54.490960 | TASK [Fetch port info] 2025-11-25 08:58:07.013590 | controller | admin_state_up: true 2025-11-25 08:58:07.013691 | controller | allowed_address_pairs: [] 2025-11-25 08:58:07.013866 | controller | binding_host_id: null 2025-11-25 08:58:07.013958 | controller | binding_profile: {} 2025-11-25 08:58:07.014059 | controller | binding_vif_details: {} 2025-11-25 08:58:07.014282 | controller | binding_vif_type: null 2025-11-25 08:58:07.014418 | controller | binding_vnic_type: normal 2025-11-25 08:58:07.014600 | controller | created_at: '2025-11-25T08:29:32Z' 2025-11-25 08:58:07.014699 | controller | data_plane_status: null 2025-11-25 08:58:07.014792 | controller | description: '' 2025-11-25 08:58:07.014953 | controller | device_id: 37edd32e-fdad-44fe-a11b-0afecce5e389 2025-11-25 08:58:07.015091 | controller | device_owner: compute:nova 2025-11-25 08:58:07.015241 | controller | device_profile: null 2025-11-25 08:58:07.015585 | controller | dns_assignment: 2025-11-25 08:58:07.015676 | controller | - fqdn: host-192-168-122-11.openstacklocal. 2025-11-25 08:58:07.015688 | controller | hostname: host-192-168-122-11 2025-11-25 08:58:07.015696 | controller | ip_address: 192.168.122.11 2025-11-25 08:58:07.015707 | controller | dns_domain: '' 2025-11-25 08:58:07.015772 | controller | dns_name: '' 2025-11-25 08:58:07.015868 | controller | extra_dhcp_opts: [] 2025-11-25 08:58:07.016145 | controller | fixed_ips: 2025-11-25 08:58:07.016277 | controller | - ip_address: 192.168.122.11 2025-11-25 08:58:07.016285 | controller | subnet_id: c14a23ac-2fa5-410b-9643-10211513380d 2025-11-25 08:58:07.016293 | controller | hardware_offload_type: null 2025-11-25 08:58:07.016395 | controller | hints: '' 2025-11-25 08:58:07.016516 | controller | id: fd6f5210-5d15-41d1-802b-49fb0f7c9837 2025-11-25 08:58:07.016611 | controller | ip_allocation: immediate 2025-11-25 08:58:07.016711 | controller | mac_address: fa:16:3e:2b:5e:28 2025-11-25 08:58:07.016878 | controller | name: controller-37edd32e-fdad-44fe-a11b-0afecce5e389 2025-11-25 08:58:07.017015 | controller | network_id: 8d07bbf9-c941-4072-96cc-7b9f0d4efde9 2025-11-25 08:58:07.017170 | controller | numa_affinity_policy: null 2025-11-25 08:58:07.017377 | controller | port_security_enabled: false 2025-11-25 08:58:07.017531 | controller | project_id: 4b633c451ac74233be3721a3635275e5 2025-11-25 08:58:07.017642 | controller | propagate_uplink_status: null 2025-11-25 08:58:07.017736 | controller | resource_request: null 2025-11-25 08:58:07.017876 | controller | revision_number: 4 2025-11-25 08:58:07.018003 | controller | qos_network_policy_id: null 2025-11-25 08:58:07.018142 | controller | qos_policy_id: null 2025-11-25 08:58:07.018264 | controller | security_group_ids: [] 2025-11-25 08:58:07.018378 | controller | status: ACTIVE 2025-11-25 08:58:07.018519 | controller | tags: [] 2025-11-25 08:58:07.018639 | controller | trunk_details: null 2025-11-25 08:58:07.018750 | controller | trusted: null 2025-11-25 08:58:07.018886 | controller | updated_at: '2025-11-25T08:29:46Z' 2025-11-25 08:58:07.241345 | controller | changed 2025-11-25 08:58:07.307304 | 2025-11-25 08:58:07.307458 | TASK [Set port info yaml for further usage] 2025-11-25 08:58:07.445718 | controller | ok 2025-11-25 08:58:07.475131 | 2025-11-25 08:58:07.475282 | TASK [Detach port] 2025-11-25 08:58:26.170883 | controller | changed 2025-11-25 08:58:26.224366 | 2025-11-25 08:58:26.224543 | LOOP [Delete port association with trunk network] 2025-11-25 08:58:26.326317 | 2025-11-25 08:58:26.326632 | LOOP [Delete trunk sub ports (tagged ones)] 2025-11-25 08:58:26.510797 | 2025-11-25 08:58:26.510984 | TASK [Delete the trunk network itself] 2025-11-25 08:58:27.168669 | controller | skipping: Conditional result was False 2025-11-25 08:58:27.273475 | 2025-11-25 08:58:27.273632 | TASK [Remove the parent/trunk port itself] 2025-11-25 08:58:40.427916 | controller | changed 2025-11-25 08:58:40.482787 | 2025-11-25 08:58:40.482953 | TASK [Dettach router from subnet] 2025-11-25 08:58:41.155664 | controller | skipping: Conditional result was False 2025-11-25 08:58:41.214175 | 2025-11-25 08:58:41.214384 | TASK [Delete router] 2025-11-25 08:58:41.901404 | controller | skipping: Conditional result was False 2025-11-25 08:58:41.956327 | 2025-11-25 08:58:41.956490 | TASK [Delete subnet] 2025-11-25 08:58:50.107391 | controller | changed 2025-11-25 08:58:50.139767 | 2025-11-25 08:58:50.139911 | TASK [Delete network] 2025-11-25 08:59:05.830167 | controller | changed 2025-11-25 08:59:05.867919 | 2025-11-25 08:59:05.868121 | TASK [Remove clouds.yml secret] 2025-11-25 08:59:06.220410 | controller | changed 2025-11-25 08:59:06.317765 | 2025-11-25 08:59:06.318248 | PLAY RECAP 2025-11-25 08:59:06.318397 | controller | ok: 16 changed: 10 unreachable: 0 failed: 0 skipped: 8 rescued: 0 ignored: 0 2025-11-25 08:59:06.318447 | 2025-11-25 08:59:06.515929 | POST-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/crc/bootstraped-ci-network-cleanup.yml@master] 2025-11-25 08:59:06.520137 | POST-RUN START: [trusted : review.rdoproject.org/config/playbooks/ci-framework-rdo-base/dlrn/dlrn-report.yaml@master] 2025-11-25 08:59:07.131345 | 2025-11-25 08:59:07.131489 | PLAY [Report DLRN results after job run] 2025-11-25 08:59:07.211660 | 2025-11-25 08:59:07.211823 | TASK [Report job status to DLRN] 2025-11-25 08:59:07.290922 | controller | ok 2025-11-25 08:59:07.353458 | 2025-11-25 08:59:07.353613 | TASK [dlrn_report : Warning if DLRN is not running] 2025-11-25 08:59:07.439805 | controller | skipping: Conditional result was False 2025-11-25 08:59:07.484967 | 2025-11-25 08:59:07.485133 | TASK [dlrn_report : Install dlrnapi-client shyaml package] 2025-11-25 08:59:07.572875 | controller | skipping: Conditional result was False 2025-11-25 08:59:07.624897 | 2025-11-25 08:59:07.625075 | TASK [dlrn_report : Install kinit related package] 2025-11-25 08:59:07.692333 | controller | skipping: Conditional result was False 2025-11-25 08:59:07.743429 | 2025-11-25 08:59:07.743560 | TASK [dlrn_report : Install dlrn kerberos related packages] 2025-11-25 08:59:07.800821 | controller | skipping: Conditional result was False 2025-11-25 08:59:07.876756 | 2025-11-25 08:59:07.876902 | TASK [Set zuul-log-path fact] 2025-11-25 08:59:07.943182 | controller | skipping: Conditional result was False 2025-11-25 08:59:07.970230 | 2025-11-25 08:59:07.970316 | TASK [dlrn_report : Set the the value of cifmw_repo_setup_promotion when multiple dlrn tags are used] 2025-11-25 08:59:08.016451 | controller | skipping: Conditional result was False 2025-11-25 08:59:08.055329 | 2025-11-25 08:59:08.055534 | TASK [Get hash related data from repo_setup role] 2025-11-25 08:59:08.102871 | controller | skipping: Conditional result was False 2025-11-25 08:59:08.137675 | 2025-11-25 08:59:08.137884 | TASK [dlrn_report : Perform kinit for DLRN kerberos authentication] 2025-11-25 08:59:08.838433 | controller | skipping: Conditional result was False 2025-11-25 08:59:08.895326 | 2025-11-25 08:59:08.896474 | TASK [dlrn_report : Set empty value for dlrnapi password] 2025-11-25 08:59:08.979943 | controller | skipping: Conditional result was False 2025-11-25 08:59:09.015329 | 2025-11-25 08:59:09.015489 | TASK [dlrn_report : Report results to dlrn for the tested hash] 2025-11-25 08:59:09.676644 | controller | skipping: Conditional result was False 2025-11-25 08:59:09.883909 | 2025-11-25 08:59:09.884048 | PLAY RECAP 2025-11-25 08:59:09.884093 | controller | ok: 0 changed: 0 unreachable: 0 failed: 0 skipped: 10 rescued: 0 ignored: 0 2025-11-25 08:59:09.884112 | 2025-11-25 08:59:10.010399 | POST-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/ci-framework-rdo-base/dlrn/dlrn-report.yaml@master] 2025-11-25 08:59:10.019117 | POST-RUN START: [trusted : review.rdoproject.org/config/playbooks/base-minimal/post-ssh.yaml@master] 2025-11-25 08:59:10.627167 | 2025-11-25 08:59:10.627295 | PLAY [all] 2025-11-25 08:59:10.716874 | 2025-11-25 08:59:10.717061 | TASK [include_role : fetch-output] 2025-11-25 08:59:10.830013 | controller | ok 2025-11-25 08:59:10.836375 | crc | ok 2025-11-25 08:59:10.895218 | 2025-11-25 08:59:10.895322 | TASK [fetch-output : Set log path for multiple nodes] 2025-11-25 08:59:11.003901 | controller | ok 2025-11-25 08:59:11.010447 | crc | ok 2025-11-25 08:59:11.033098 | 2025-11-25 08:59:11.033172 | TASK [fetch-output : Set log path for single node] 2025-11-25 08:59:11.074552 | controller | skipping: Conditional result was False 2025-11-25 08:59:11.085565 | crc | skipping: Conditional result was False 2025-11-25 08:59:11.159750 | 2025-11-25 08:59:11.159945 | LOOP [fetch-output : Ensure local output dirs] 2025-11-25 08:59:11.558913 | controller -> localhost | ok: "/var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/logs/controller" 2025-11-25 08:59:11.561341 | crc -> localhost | changed: "/var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/logs/crc" 2025-11-25 08:59:11.812316 | crc -> localhost | ok: "/var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/artifacts" 2025-11-25 08:59:11.815813 | controller -> localhost | ok: "/var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/artifacts" 2025-11-25 08:59:12.045884 | crc -> localhost | ok: "/var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/docs" 2025-11-25 08:59:12.101219 | controller -> localhost | ok: "/var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/docs" 2025-11-25 08:59:12.101439 | controller -> localhost | changed: All items complete 2025-11-25 08:59:12.101524 | 2025-11-25 08:59:12.158203 | 2025-11-25 08:59:12.158460 | LOOP [fetch-output : Collect logs, artifacts and docs] 2025-11-25 08:59:12.977857 | controller | changed: 2025-11-25 08:59:12.978107 | controller | .d..t...... ./ 2025-11-25 08:59:12.978142 | controller | >f+++++++++ zuul-output-controller-all-logs.tar.gz 2025-11-25 08:59:13.055318 | crc | changed: 2025-11-25 08:59:13.055468 | crc | .d..t...... ./ 2025-11-25 08:59:13.055494 | crc | >f+++++++++ crc-cloud-workdir-crc-all-logs.tar.gz 2025-11-25 08:59:13.055514 | crc | >f+++++++++ kubelet.log 2025-11-25 08:59:13.055533 | crc | >f+++++++++ zuul-output-crc-all-logs.tar.gz 2025-11-25 08:59:13.055553 | crc | cd+++++++++ crc-cloud/ 2025-11-25 08:59:13.486465 | controller | ok 2025-11-25 08:59:13.549632 | crc | ok 2025-11-25 08:59:14.002226 | controller | ok 2025-11-25 08:59:14.183803 | crc | ok 2025-11-25 08:59:14.184078 | crc | changed: All items complete 2025-11-25 08:59:14.184154 | 2025-11-25 08:59:14.373548 | 2025-11-25 08:59:14.373788 | TASK [include_role : fetch-output-openshift] 2025-11-25 08:59:14.403832 | controller | skipping: Conditional result was False 2025-11-25 08:59:14.414914 | crc | skipping: Conditional result was False 2025-11-25 08:59:14.441282 | 2025-11-25 08:59:14.441362 | LOOP [merge-output-to-logs : Move artifacts and docs to logs dir] 2025-11-25 08:59:14.963913 | controller -> localhost | ok: Item: artifacts Runtime: 0:00:00.010829 2025-11-25 08:59:15.230738 | controller -> localhost | ok: Item: docs Runtime: 0:00:00.014385 2025-11-25 08:59:15.431048 | 2025-11-25 08:59:15.431256 | PLAY [all] 2025-11-25 08:59:15.510981 | 2025-11-25 08:59:15.511147 | TASK [remove-build-sshkey : Remove the build SSH key from all nodes] 2025-11-25 08:59:16.273011 | controller | changed 2025-11-25 08:59:16.351420 | crc | changed 2025-11-25 08:59:16.550558 | 2025-11-25 08:59:16.550711 | PLAY RECAP 2025-11-25 08:59:16.550767 | controller | ok: 5 changed: 3 unreachable: 0 failed: 0 skipped: 2 rescued: 0 ignored: 0 2025-11-25 08:59:16.550794 | crc | ok: 4 changed: 3 unreachable: 0 failed: 0 skipped: 2 rescued: 0 ignored: 0 2025-11-25 08:59:16.550811 | 2025-11-25 08:59:16.665805 | POST-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/base-minimal/post-ssh.yaml@master] 2025-11-25 08:59:16.676508 | POST-RUN START: [trusted : review.rdoproject.org/config/playbooks/base-minimal/post-logs.yaml@master] 2025-11-25 08:59:17.342131 | 2025-11-25 08:59:17.342334 | PLAY [localhost] 2025-11-25 08:59:17.360132 | 2025-11-25 08:59:17.360214 | TASK [generate-zuul-manifest : Generate Zuul manifest] 2025-11-25 08:59:17.855394 | localhost | changed 2025-11-25 08:59:17.860179 | 2025-11-25 08:59:17.860254 | TASK [generate-zuul-manifest : Return Zuul manifest URL to Zuul] 2025-11-25 08:59:17.900109 | localhost | ok 2025-11-25 08:59:17.911176 | 2025-11-25 08:59:17.911267 | TASK [add-fileserver : Create SSH private key tempfile] 2025-11-25 08:59:18.347361 | localhost | changed 2025-11-25 08:59:18.352442 | 2025-11-25 08:59:18.352510 | TASK [add-fileserver : Create SSH private key from secret] 2025-11-25 08:59:19.163500 | localhost | changed 2025-11-25 08:59:19.168851 | 2025-11-25 08:59:19.168920 | TASK [add-fileserver : Add fileserver ssh key] 2025-11-25 08:59:19.581196 | localhost | Identity added: /var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/tmp/ansible.uwun2717 (/var/lib/zuul/builds/ff418e7537c24c4c96d27225f029c73c/work/tmp/ansible.uwun2717) 2025-11-25 08:59:19.581404 | localhost | ok: Runtime: 0:00:00.015608 2025-11-25 08:59:19.587116 | 2025-11-25 08:59:19.587182 | TASK [add-fileserver : Remove SSH private key from disk] 2025-11-25 08:59:19.897613 | localhost | ok: Runtime: 0:00:00.020106 2025-11-25 08:59:19.905080 | 2025-11-25 08:59:19.905155 | TASK [add-fileserver : Add fileserver to inventory] 2025-11-25 08:59:19.955166 | localhost | changed 2025-11-25 08:59:19.973042 | 2025-11-25 08:59:19.974472 | TASK [add-fileserver : Add fileserver server to known hosts] 2025-11-25 08:59:20.406977 | localhost | changed 2025-11-25 08:59:20.490403 | 2025-11-25 08:59:20.490528 | PLAY [localhost] 2025-11-25 08:59:20.502291 | 2025-11-25 08:59:20.502385 | TASK [Generate bulk log download script] 2025-11-25 08:59:20.531648 | localhost | ok 2025-11-25 08:59:20.545193 | 2025-11-25 08:59:20.545299 | TASK [local-log-download : Check API endpoint is defined] 2025-11-25 08:59:20.573607 | localhost | ok: All assertions passed 2025-11-25 08:59:20.579829 | 2025-11-25 08:59:20.579898 | TASK [local-log-download : Create download script] 2025-11-25 08:59:21.055425 | localhost -> localhost | changed 2025-11-25 08:59:21.077472 | 2025-11-25 08:59:21.077708 | TASK [Register quick-download link] 2025-11-25 08:59:21.116968 | localhost | ok 2025-11-25 08:59:21.144115 | 2025-11-25 08:59:21.144272 | PLAY [logserver.rdoproject.org] 2025-11-25 08:59:21.159717 | 2025-11-25 08:59:21.159859 | TASK [Set zuul-log-path fact] 2025-11-25 08:59:21.179445 | logserver.rdoproject.org | ok 2025-11-25 08:59:21.189866 | 2025-11-25 08:59:21.189948 | TASK [set-zuul-log-path-fact : Set log path for a build] 2025-11-25 08:59:21.220921 | logserver.rdoproject.org | ok 2025-11-25 08:59:21.233336 | 2025-11-25 08:59:21.233471 | TASK [upload-logs : Create log directories] 2025-11-25 08:59:22.282623 | logserver.rdoproject.org | changed 2025-11-25 08:59:22.290420 | 2025-11-25 08:59:22.290558 | TASK [upload-logs : Ensure logs are readable before uploading] 2025-11-25 08:59:22.736043 | logserver.rdoproject.org -> localhost | ok: Runtime: 0:00:00.040854 2025-11-25 08:59:22.743383 | 2025-11-25 08:59:22.743472 | TASK [upload-logs : Upload logs to log server] 2025-11-25 08:59:24.202489 | logserver.rdoproject.org | Output suppressed because no_log was given 2025-11-25 08:59:24.207163 | 2025-11-25 08:59:24.207293 | LOOP [upload-logs : Compress console log and json output] 2025-11-25 08:59:24.278062 | logserver.rdoproject.org | skipping: Conditional result was False 2025-11-25 08:59:24.288374 | logserver.rdoproject.org | skipping: Conditional result was False 2025-11-25 08:59:24.300556 | 2025-11-25 08:59:24.300837 | LOOP [upload-logs : Upload compressed console log and json output] 2025-11-25 08:59:24.351280 | logserver.rdoproject.org | skipping: Conditional result was False 2025-11-25 08:59:24.351627 | 2025-11-25 08:59:24.356098 | logserver.rdoproject.org | skipping: Conditional result was False 2025-11-25 08:59:24.371938 | 2025-11-25 08:59:24.372113 | LOOP [upload-logs : Upload console log and json output]